It felt it was being forced on me when various distributions switched to it. And it was something new and buggy to learn that I didn't wanted to deal with.
The general idea behind it are good in my opinion. But the problem is how confusing and slow the god damn thing is.
Try overriding a service definition? You must know to set exec to empty string before you are allowed to override it. Really first line sets to "" second to the value you want. Just weird.
Try getting the logs of the service you just edited and restarted? Wait 10s on a flagship computer for the 5 lines of log to show up.
Systemd stores logs in binary. That takes more storage space than gzipped text. While being about 100x or more slower than zcat and co.