But launchd can also be a pain in the ass -- just ask anybody who tried to make a sandboxed app with a helper tool. Launchd is poorly documented once you go beyond the basics. Some things that should be simple are almost impossible, eg. trying to find out where a job with a certain label is coming from. Some parts of macOS (eg. ServiceManagement) use hidden, undocumented interfaces to launchd, and if something goes wrong with them there's no way to fix it except create a new user account. And for no reason at all that stuff changes with new releases of macOS.
I understand why some people may prefer a simpler tool.
I understand why some people may prefer a simpler tool.