On Windows, it’s not perfect because it’s ultimately cooperative, but at least the developer of the application can also configure how it should be uninstalled. If you mostly stick to “reputable” applications, you know they would have gotten so many complaints about random things they leave behind that they slowly fix their uninstaller. Also you usually get the option to completely uninstall or keep data files, etc. Though it’s not universal. Uninstaller apps like CCleaner used to be more popular, but I hardly hear about these things anymore and usually advise against them.
On Linux, the story is slightly better as you rely on your distro package maintainer to configure the right uninstall logic. Removing random config files in /etc/ or data files in /var/ or systemd units, etc. Usually maintainers get it right as long as you stick to those feeds, and when something is missed it’ll get fixed eventually.
On Mac it seems to be either google it to get a list of locations to clean (which is what I do), or just delete the folder and ignore the random files or use CleanMyMac ($19.99) or CCleaner ($12.99) or MacAppBeGone (that’ll be $8.99) etc. luckily you can try to stick to homebrew and the App Store, but it’s limiting.
It’s a classic cloud vs disk debate about where and who should persist and own the data. Lately I think it’s kinda refreshing that it’s entirely on your disk and up to you.
It's not universal, but at least it's possible. Not having to hunt down random directories (or buying a program to do it for you) also has advantages to user control.
But that is quite independent from the creativity people show in these install workflows. You could have both a cool .dmg and a proper uninstallation process (but we don’t, for the most part).
It autodetects when you delete an app from the Applications folder runs a quick scan and suggests which other files you might want to delete (So you might save savedata or settings if needed)
Don't knock on this feature, it can be a lifesaver if you've lost the license info. When you reinstall, sometimes the app can retrieve the license from old files.
https://github.com/alienator88/Pearcleaner
>if you've lost the license info
Or used up your free trial, you get a reminder it’s time to buy!