Some programs, particularly oldish ones will not uninstall by normal methods.
Norton protection software for example, needs a special program which is downloaded from their site.
Others may have become damaged and the unistall process is halted when the process cannot find some component which it requires to be able to continue. In this case first reinstall it and only when the program is set up and integrated as normal, will the uninstall process go through.
If I remove something and want to be sure all refs have been cleared, I run CCleaner specifying "Issues." This clears abandoned and any irrelevant lines in the registry.
As gengiscant has asked...... Please name the program you are trying to uninstall? This could be the major factor.