This also isn't talking about an "uninstall button." That would be ridiculous. It's talking about including a double-clickable uninstaller bundled with your app. If you don't want to uninstall, don't double click on it.
Launchd was just one simple example. Applications that use PackageMaker are using it because they need to do more than have the user drag and drop a single app bundle. PackageMaker exists for a reason.
Launchd is Apple's recommended way of launching applications on startup. If you know something better, I'm all ears. If "apps shouldn't be using launchd" why would launchd possibly exist, and why would they repeatedly recommend it as a replacement for cron, xinetd, mach_init, and init?