With slices and scopes systemd directly interfaces with the cgroup mechanism in the kernel. The advantage is that with this mechanism you can fence off part of your session, or even a single process into its own environment, anything up to short of running it in a container (and then systemd can also manage containers). Resource usage can be limited on both the scope and the slice, and can be set for CPU, memory and I/O. The official documentation will provide more details.
We saw a part of that in the debate on the setting that kills all apps on session end. While I disagree with making that the default (at least for now), the idea that if you want something to keep running in the background you have to explicitly assign it to a background scope, so both the system and the sysadmin can see it's a background task and keep it constrained if necessary, is a good mechanism in my eyes.
I need that kind of fine-grained control in my work, and there are simply no alternatives that handle this as easily as systemd.
This, and event-based service handling is worth it for me. systemd feels a little overengineered to me, but since I haven't even seen half of what it cant do I am quite willing to entertain the thought that this is a mistaken impression on my side. Or it might be that it actually is overengineered.
It has faults; the event-based nature means that dependency cycles are hard to debug and can be frustrating; a number of units have timeouts that are far too long and make your system hang for ages if something goes wrong, and interrupting them is hard if not impossible. But I've dealt with SysV breakage too, professionally, and systemd's warts are certainly not worse.
So, it's not actually worse than SysV, and it brings some stuff to the table I like and need in daily work. And most of the objections are people blindly parroting echo chamber talk, and that is what pisses me off to no end: people pretending to be intelligent not being any better than Alex the Parrot.