What makes it problematic is that they still end up with cross-dependencies. I might find resolved or logind great tools, but I can't use them without systemd, even though I can sitll use systemd without resolved. They all reinforce systemd as an irreplaceable component that will only grow more hooks for these subprojects, becoming increasingly unimplementable and complex.
systemd is not an init system. It's an umbrella project with many distinct tools and services, only one of which is an init provider.