- it does too much. doesn't follow the Unix norms of doing one thing and doing it well. things like DNS resolution, time sync, etc all exist as systemd components.
- complexity - similar to doing too much but also just that it is no longer easily inspected and understood imo.
- participates in the Linux cycle of reinventing the wheel, excessively. Linux distros felt like they were changing their service management commands every other release for a while.
- breaks compatibility with BSDs.
I'm sure it solves real problems for real people.. but I don't like it.