Can we please differentiate between systemd the init replacement and systemd the project to replace many of the critical subsystems in Linux (login, logging, etc). And put aside the claims of each faction's motives (good or bad) for a moment.
Then I see that systemd started life as an init replacement, with good aims, and then rapidly realized that to achieve its design goals big chunks of the rest of Linux needed to be rewritten. The critical mistake was right here --> They elected to go for really tight integration and pitch it to the community as such when instead they could have collaborated with the teams that own those other components and contributed reports and fixes.<-- For example a stronger syslogd that supported the binary, reliable logging that they felt they needed.
A systemd init replacement surrounded by a bunch of independent projects that offered a choice of tight or loose integration ("you can log to syslog over UDP, or you can have the fancy experience by setting this flag on syslogd") would have been awesome. Instead we got a systemd that is inexorably reaching for huge swathes of Linux and exposing itself to flame wars every freakin' time a bug is discovered.