But what if the user wants to use one of those popular "app zapper" or "clean up" tools?
I realize there are two classes of users. Many users are unaware of the existence of kernel extensions, system extensions, launch daemons, etc. When they want to uninstall software, they drag an app to the trash. This API serves that class of users.
But there are many other users who have a bit more knowledge. They know about some of these "detrius" files, but they don't know what they do or how to properly shut them down and remove them. They use a number of popular utilities that search the system for any files whose name or metadata matches a bundle ID. Some of these files are actually created and manged by the operating system, but they don't know or care about that. They then delete all those files using whatever means the tool uses. That is probably not going to be the Finder. This API harms those users.
In a few cases, developers themselves don't know about any of this. One popular app that was one of the first to use system extensions also uses a custom uninstaller that does not properly delete its system extension. Another popular app doesn't include an uninstaller at all. Its web site tells user to drag the app to the trash, ignoring the launchd tasks. I met a developer from this company at a conference once and specifically asked him about this problem. He was aware of the problem, but simply didn't care. These are popular apps that are more likely to be used by that first class of users. This API harms those users.
I recognize that the first group of users are much more pleasant to deal with than the second. But all customers are vulnerable to developers of tools that either delete wide swaths of files from other developers or don't even delete their own files. Many users simply don't have the knowledge necessary to exercise this control. This is a problem that I see every day.