Some apps are non-conforming, and store data elsewhere, but as a general model I think it works very well.
Some apps are non-conforming, and store data elsewhere, but as a general model I think it works very well.
On macOS, the registry equivalent is all the plist files stored in ~/Library/Preferences and ~/Library/Application Support. These just get left behind when the .app is deleted.
Early macOS used the installer system, which still exists but is increasingly rare. You'll notice it because the installer has the .pkg extension. The installer writes "receipts" to a special folder, which contains all the files it created, which in principle should help you unininstall. In practice, this doesn't work well, either, because apps litter the file system with files after they're installed.
Apple encourages the use of sandboxing for new apps. You'll find that apps each get a root under ~/Library/Containers. This means you can wipe all of an app's data in one go; as I understand it, sandboxed apps have to explicitly request access to any files they need to access outside of their container.
With APFS they could go even further and give each app their own volume, I suspect.
But most apps aren't yet sandboxed, so we still have file systems polluted with stuff.