As for systemd... while I believe that there have been questionable decisions (why was a replacement of ntpd needed?), at least it's gotten easier to introduce dependencies as part of software startups - e.g. it's relatively trivial to add a dependency on an NFS mount for a server program, which was ... a complex mess to put it lightly before.
My biggest gripe with systemd unit files is that there are at least four ways of specifying dependencies (Wants, BindsTo, After, Requires) and the semantics are not easily understandable.
My biggest gripe with systemd unit files is that there are at least four ways of specifying dependencies (Wants, BindsTo, After, Requires) and the semantics are not easily understandable.