I've noticed that a lot of programs, especially those Freeware/Shareware programs don’t have good uninstallers.
Some trial version software that have a limited number of days you can use them often intentionally don't remove all files and also create registry entries to provide a usage timer/counter. This is mainly to prevent someone from just uninstalling and reinstalling the software and using it for free indefinitely.

It could just be that one of the uninstall files created during installation is corrupt or missing. Sometimes reinstalling and uninstalling the program again will do the trick, but don't know if that's an option for you.

What OS are you using and how is your computer setup?
Are you actually logged in as Administrator or using an account with full Administrative privileges?
I have my computer set up with very restricted user access, so that software can only be installed or removed when I log on specifically as Administrator.
As a side note, I've always been told that this is supposed to at least help lessen the chances of compiled Batch [.bat] and Visual Basic Script [.vbs] files from creating Executable [.exe] files and installing Malware in the background, but of course, this could all be just smoke and mirrors.

I don't know how far you really want to go with it, but if I truly have stubborn files that just won’t go away on their own or I can't remove from within Windows, I restart in SafeMode, log on as Administrator and then remove those files manually. Then I run regedit.exe and search HKEY_LOCAL MACHINE_SOFTWARE for entries with that software’s name then delete them.
I will also do a Registry keyword search [Edit/Find] for anything else specifically with that programs or venders name and delete those keys and data strings.
After I'm sure I can restart the computer normally, I will run RegClean 4.3 to clean out any orphan entries left behind.