iOBit Uninstaller Pro is on GOTD, so just a quick(ish) reminder, that no app does a complete job of removing software. Reversing every change made when you installed a program can be a ticklish business, so I assume in an effort to avoid breaking stuff, uninstaller software that monitors a program's install will only let you remove those things that are usually the safest. Uninstaller software that doesn't record a program's installation usually involves running a registry cleaner. Those miss [sometimes lots of] stuff too.
That's not necessarily a terrible thing -- if you remove more than using an app's uninstaller alone, you get rid of some added garbage. My argument with uninstaller software is that their marketing very often leads you to believe that they get it all, that they remove everything, and they simply do not. And folks need to know that to help them make a better, more pragmatic decision on whether to install & use uninstaller software, especially if it's something you're going to pay for.
When you install software the amount of changes made to Windows varies --- it depends on the software & its installation routine. Sometimes the impact is huge & irreversible [short of reinstalling Windows fresh], while other times that impact is so slight that anything more than that app's uninstall routine is overkill.
Microsoft's answer is the universal app platform used with Windows 10's store -- they'd like every programmer &/or developer to stop using the traditional win32 type code entirely. So far that's not happening, in part because of Microsoft's mismanaging 10's store. At the same time however if you're running 10, Windows will be reinstalled every time there's a version update [we'll have 2 this year], which itself leaves a lot of old baggage & leftovers behind.
Portable software in theory provides a solution, except loads of so-called portable software isn't. AFAIK the only way to assure an app is portable is to get it from portableapps[.]com. Otherwise you have to test it to be sure.
Most software nowadays is written to run on Windows 7 through 10 [plus often on XP], to ensure the developers have the biggest possible market. XP provides the best testbed, followed by Windows 7, IF you're inclined to test program installations & operation. The problem with win7 is that sometimes a program installation can trigger several hundred thousand temporary new registry entries -- in those cases getting an accurate record can be difficult to manage. [You have to sort the list of new entries, then work backwards from the end to avoid schema & canonical entries -- the hard part is handling files that big.] 10 has a more complicated, larger registry. The good part is that whatever an app changes in XP is normally mirrored in 7 through 10 -- it's just easier in XP because XP is so much less complicated.
I run VMs, which are basically a normal Windows installation on a VHD [Virtual Hard Disk] file that averages 12 - 20 GB. I copy a VM's VHD into place, run it using VirtualBox, & afterward either delete that copy or copy/paste the original VHD on top of it -- that way I can always completely restore everything to the way it was. I use one or both of 2 apps to monitor program installs in one of those VMs: InstallWatch Pro & RegShot. If I decide to install an app in a regular [not VM] copy of Windows, I'll often run RegShot during the install to have a record of changes made, that I'll store in that new program's folder -- that way I have a checklist to go through after I uninstall the app, If I should ever decide to. I also often store the app's license key in the same folder, which can sometimes save the day when/if a program deactivates.
But again, how much any of this matters is up to you. The copy of 7 I'm using at the moment was originally installed in 2009 -- I've run some Windows installs for more than a decade. I'm also running 7 on a smaller [240 GB] SSD. The combination of the 2 means that I want [& need] this copy of 7 to stay as lean as possible. I'm MUCH less picky about my copies of 10 -- I'll be replacing the main copy next month with the Creators Update, I just updated one Insider build, & I'll be updating another next time Microsoft releases an ISO. At the same time my tablet only has 32 GB of storage, while the miniPC has only 50 GB... on those I'm less concerned about any potential leftovers, but rather have to make sure that anything I install doesn't use too much disk space, & that includes expanding the size of the registry. IOW I'd expect anyone's personal strategy to likewise meet their wants & needs.