For someone coming from NeXTStep (BSD based), having worked with SCO, various BSD and mostly Linux for the last 20 years, the worst thing about systemd is documentation that's easily accessible/readable for people used to a traditional init system.
"How do I get it to do special use case X" was a basically unanswerable question when it got dragged into the mainstream (for reasons I can very well understand - the reasons for the dragging, that is, the bad docs, not so much).
Maybe that's improved in the mean time - I wouldn't know, I had to figure it out back then and now I know its lingo when searching and such.