systemd is the new init system, started with Fedora and now started adopted in many distributions like redhat, suse and centos. This long period we all been using traditional SysV init scripts usually residing in /etc/rc.d/init.d/ directory. These scripts invokes daemon binary which will then forks a background process. Even though shell scripts very are flexible buts other tasks like supervising processes and parallized execution ordering will be very hard to implement. With the introduction of systemd new-style daemons which makes easier to supervise and control them at runtime and simplifies their implementation.
systemctl command is a very good initiative in systemd that shows more detailed error condition and also runtime errors of services plus start-up errors. systemd have introduced a new term called cgroups (control groups) which is basically groups of process that can be arranged in a hierarchy. In init system which process does what and where it belongs to becomes increasingly difficult. When processes spawn other processes these children are automatically made members of the parents cgroup so it will avoid many confusions about inheritance.