It's also popular with quite a few people who actually really like it and use it extensively, like me. We just tend not to be as vocal about it, probably because we don't need to be since that side is the default in all mainstream distros.
My main complaint about systemd is that most people don't use it enough. the units for sockets, timers, paths can be really powerful, and the sandboxing capabilities are great. They are just underused.
For basic system components like an init, network manager, etc. I'd also say that "Popular with people who don’t care" is great praise. It means that the people who don't want to care can choose to just not. Being great with people who do care is of course great too (and being popular with both is the best), but don't discount the value of a utility just being a utility.
It wasn’t meant as a negative. As you clearly imply, people have built a trillion dollar company on it. You don’t have to care about the implementation details is basically Apple’s value proposition. E.g. I just want my airpods to work with all my stuff is a great user story.
I find the sandboxing to be very subpar. It works for the most basic use-cases but for anything with slightly more complicated requirements you're better off scripting your way through cgroups and namespaces.
Networkd is a pain to configure and operate, and interferes with the lower level subsystems. Resolved is a mess that only causes headaches. It might be ok-ish on desktops but honestly I never had an issue with regular /etc/resolv.conf on any of my laptops and desktops. Journald is a (terrible) solution looking for a problem and makes everything more opaque and harder to troubleshoot.
Containerisation and namespacing is a big mess and lacking on basic features. It also doesn't play nice with the core tooling (ip netns, etc).
I like the service units but honestly we could all have done without it. There were already other perfectly usable solutions in that space. I used runit for a while before nearly every distro out there caved to systemd.
Alright, gotcha. They have all worked well for me, but I understand that they might not for you. The good thing then is that all of those are replaceable with their traditional counterparts, so you can pick and choose while still keeping the core systemd that you seem to find acceptable.
My main complaint about systemd is that most people don't use it enough. the units for sockets, timers, paths can be really powerful, and the sandboxing capabilities are great. They are just underused.
For basic system components like an init, network manager, etc. I'd also say that "Popular with people who don’t care" is great praise. It means that the people who don't want to care can choose to just not. Being great with people who do care is of course great too (and being popular with both is the best), but don't discount the value of a utility just being a utility.