It does most of the same things - the objections to systemd around covering multiple overlapping areas in a single project would also apply to launchd (and the Solaris SMF).
The best way to make cron / at / sysvinit / syslog / daemonize / xinetd / supervisord fans happy is to let them keep using cron / at / sysvinit / syslog / daemonize / xinetd / supervisord.
The biggest difference is that Apple hasn't demonstrated hostility/irrationality/utter dickery at people who report bugs on their tracker. The same cannot be said of systemd.
Thanks, I tried searching for a launchd bug tracker but didn't find this. I'm still not sure if this is a fair comparison as we can't actually see how apple has responded to similar concerns (if any).
Fact is most people don't care about the init system as long as it works.
Even still, launchd covers far less ground than systemd, all things considered. It's just inetd, crond, atd and watchdogd, mostly.
And initd itself. That's five things, and Apple care less about what you have to say re: 'Unix philosophy' that LP does.