The biggest problem with systemd is that it broke with
so many "established practices" and philosophies of a lot of distributions and iirc it took a while for generators to appear that automagically integrate old-school sysvinit scripts into systemd, meaning an awful lot of work for distributions to recreate unit files with sometimes
decades of history buried in the old init scripts. Additionally, its overhaul of logging broke established file-based workflows.
Personally I'm happy with systemd these days - it has a steep learning curve but once you get how to write them and how dependency ordering works, it's just a breeze.
If there is one thing the Linux ecoysystem desperately needs if it ever wants to be a serious challenger on the desktop, it's standardization for software vendors... and slowly but surely, life gets easier, in no small part thanks to systemd.