It seems to me to be mainly from people who are dedicated to the Unix philosophy that programs should do only one thing, and do it well. Tying everything up into systemd doesn’t follow that. I don’t care either, and I don’t mind systemd, but some people care about it enough to throw paragraphs of hate on it wherever it’s mentioned online. And apparently it’s “bloat”, and to some " bloat" is worse than the devil himself.
If you dig deeper into systemd, it’s not all that far off the Unix philosophy either. Some people seem to think the entirety of systemd runs as PID1, but it really only spawns and tracks processes. Most systemd components are separate processes that focus on their own thing, like journald and log management. It’s kinda nice that they all work very similarly, it makes for a nice clean integrated experience.
Because it all lives in one repo doesn’t mean it makes one big fat binary that runs as PID1 and does everything.
This is what turned me around: investigating and realizing that it is following the unix philosophy, it’s just under the hood (under the other hood inside the bigger under the hood).
My main issues are that it obfuscates things and seems to consume everything it can into itself.
Honestly, if it were more transparent and designed in a way to easily facilitate swapping out components with alternatives, I’d be a lot more okay with it.
I bet some of those people use neovim instead of the more unix philosophy ed.