The uninstaller should know what the installer installed. But it doesn't know what the program added when you (first) ran it.
To test a suspect case: remove all left behind junk, install and immediately uninstall without running it. Don't even check the checkbox at the end of the install asking to run it. Only if the junk is still present, it's the uninstallers fault. Then tell it to the maker, so he can fix that.
Why is it that when you install some program and then use the program's uninstaller that it leaves bits and pieces behind?
You would think the uninstaller would know quite well what the installer added.
Now you get to fuss around and find this left behind junk and delete it, otherwise over time you end up with a disk full of clutter.