Uninstalling has the same issue on every OS because the OS isn't keeping a log of every file an application creates over its lifetime being installed; it can only remove what it knows about.
It's never going to be perfect. You can be really anal about it where you end up with iOS where, yes, you can sleep pretty well knowing that when you delete an app it has cleaned up after itself. The obvious tradeoff being that it's inherently limiting the scope of what you can do with the app.
I think it's gotten much better in recent years for the Windows crowd. I've been running the same install of 11 for about two years now. Back in the XP days I'd be lucky to be able to make it 6 months without feeling like everything was incredibly bogged down with no way out.
It does lots more, but this bonus is great.