At the level I care about, which is "I want this daemon to start when I boot up the computer", systemd is much better. I can write a ~5 line unit file that will do exactly that, and I'll be done.
With init, I needed to copy-paste a 50-line shell script that I don't really understand except that a lot of it seemed to be concerned with pid files. Honestly, I fail to see how that's better...
The only arguments against I have seen so for is systemd does a lot more than just handing system startup (systemd-resolved is one such example) and files that was previously stored as text now require systemd's own tool to read (journalctl?).
So not the actual startup function, just everything else.
Mmm I have a general dislike of systemd because it doesn't adhere to the "do one thing and do it well" approach of traditional Unix systems.
It's a big old opaque blob of software components that work nicely together but don't play well with others, basically.
Edit: but it solved a particular set of problems in serverspace and it's bled over to the consumer Linux side of things and generally I'm ok with it if it simplifies things for people. I just don't want a monoculture to spring up and take root across all of Linux as monocultures aren't great for innovation or security.
Based on the video someone posted, it's not very portable either.
I feel that little part of my brain that wants to add yet another standard itching. Easily starting something at boot is good, but I don't see why that has to come with loss of modularity.