Re: New Linux poweruser here ...
In the early days of unix there was a script called /etc/rc.init that started everything else. init's job at that time was run rc.init or a shell and clean up after programs that ended. Then run levels (single user/admin mode) were introduced by AT&T after the AT&T/BSD/AT&T split/fork that created System V. IBM's AIX included an early concept of having a program doing smarter things that the early init and scripts and that was considered heresy by the greybeards. The init system in Solaris 10 also caused a great deal of strife and caused a number of people to abandon it or stick with Sol 8/9 (which are still supported as containers under 11.3).
Systemd was intended to fix the init problems of the laptop while the old init.d (/etc/rc2.d and /etc/rc3.d) were much better for dealing with older larger servers which would hardly ever reboot and didn't have their hardware disappearing and new stuff reappearing all the time. Most of the major critics of early systemd (and Solaris svcs) were sysadms who just ran servers. The system V init (like solaris) for the sun comparable laptops made by tadpole was an absolute nightmare as it needed to make use of run-levels a,b and c to deal with going in and out of power saving or sleep modes and it didn't have to cope with usb devices showing up. The dependency tree of a modern init system is exceptionally complex and there is current research in the field. The SysV inittab had names for the purpose of a makefile like dependency tree but wasn't properly used showing this problem goes back to at least 1983.
What I expect will happen is that one of the BSD groups will figure out how to do more modern init system correctly for the range of hardware between tablets and servers, have their init work with the existing rc.d/init.d/svcs/systemd config files. Then systemd will get relegated to something like the contract manager under solaris and in time disappear.