I'll help you out by offering this common scenario:
You have an application which is a normal app bundle. It doesn't update itself because, well, few developers have bothered taking this route, so you download a new version of it and you throw the old one in the trash. Now all of your preferences are gone and you have to set everything up again.
That would not be a pleasant user experience, would it. Dropping the bundle in the trash doesn't remove your preferences because it would be an idiotic thing to do.
I agree. How is that "helping me out?" I never said dragging stuff to the trash should do that. I said there should be an UNINSTALLER, which is the whole topic at hand here.
It helped you understand why dropping app bundles in the trash does not clean out per-user property lists.
App bundles are never installed anywhere as they are self-contained products, hence they cannot be uninstalled. For applications that actually come in the form of package installers which may place files in "annoying" locations like /usr/local/, you also get the functionality of uninstalling the software, because these packages contain manifests describing what files go in what locations.
You have an application which is a normal app bundle. It doesn't update itself because, well, few developers have bothered taking this route, so you download a new version of it and you throw the old one in the trash. Now all of your preferences are gone and you have to set everything up again.
That would not be a pleasant user experience, would it. Dropping the bundle in the trash doesn't remove your preferences because it would be an idiotic thing to do.