It s a bug, not a feature. I like how systemd can reliably track even double-forked processes, or how can I override only tiny parts of the unit definition, without having to rewrite the entire unit and thus the original definition is still updatable by upstream packages. Or how it can inform me, in what state either the given unit or the entire system is, including last few lines from the log. Or that there is unified system for unit activation no matter how they are activated (on startup, on socket, on timer, on demand by dbus, etc). Or that it can properly solve dependencies among services, and miriad of similar, small things, that together make a huge qualitative difference.
Ironically from your snark, systemd uses simple ini files. Launchd uses a specially bloated xml, because plists.