The reality is that are all good programs, but my vote goes to IObit, for the following reasons.
It can scan for leftovers after rebooting. If an uninstaller wants to restart Windows, you can let it do so and then scan for loftovers afterwards. The others, can't do this.
It has a batch uninstall mode which allows you to select multiple programs to uninstall. It will uninstall them one by one and then scan for leftovers from all of them. You can also scan for leftovers after rebooitng, when using batch mode.
All three programs do a very good job of finding leftovers. I haven't compared them lately, but there should not be that much difference between them.
Having said all of that, my uninstaller of choice these days is Total Uninstall. It takes snapshots before and after installing software, so it has a record of every file and registry key created. It uses this data to remove all traces of software you uninstall. It works so well, that is is the only uninstaller I use on my main computer. The only downside is that rather than installing software by launching the setup exe, you need to right click on it in Explorer and select Monitor with Total Uninstall.
It's not cheap, but you can get 20% off a the moment at BitsDuJour.
Total Uninstall for PC. Uninstallation Software. Completely Removes All Application Traces.
From time to time you can get at 50% discount, at the same BitsDuJour link.
I tried a number of alternatives to Total Uninstall which create snapshots (including Revo), however Total Uninstall works much better.