Add/Remove Programs will remove what the programmers of that program want removed. The programmers may forget entries which were entered by their program or they may not want certain entries to be found and removed.
RegVac has the Software Vac section and Software Cleanup which may help you (see below for more information).
There is only one foolproof way to remove all of the entries which a program installs and that is to make a backup of the registry before the program is installed and then restore that backup after you remove the program. Of course, that can cause problems to other programs which made changes to the registry or were installed since the backup was made, so unless you are only using that program on the computer, that will not work.
There are three ways to find entries left behind (the Software Cleanup section of RegVac helps you accomplish these three things). One is to search the registry for the name of the program, two is to search the registry for links to files which that program had installed, and three is to look in the Software sections of the registry for a section for that program.
Unfortunately, most entries in the registry are unidentifiable and so there is no way that you can link them to a specific program.
So if you are looking for a program to completely remove unwanted programs, RegVac (http://www.superwin.com/regvac.htm
) comes the closest to doing that (RegVac is the only registry cleaner that has this type of Software Cleanup utility), but there are entries that RegVac and all other cleaners will not be able to find.