TWO WORDS – WINDOWS REGISTRY!
Windows registry is a database which contains information, settings, options, and other values for programs and hardware installed on all versions of Microsoft Windows operating systems. Apps and components of programs seamlessly interact with each other, and with the operating system, using Windows registry. Leftover files, registry keys and values of already uninstalled apps can break that interaction and lead to errors – app update errors; installation errors; file association errors; shell extension errors; Component Object Model (COM) errors; operating system errors; etc.
“Deleting files, registry keys, and values or just changing them, without fully understating what that can cause is the first leading cause of program errors.”
Manually deleting a program, i.e., deleting its files you see in “Program Files” folder, or following a manual malware removal instructions, may lead to errors because you may not find all of their files. A lot of programs are installing files in different system locations hidden by default. Even if you manage to locate and delete all files of a program manually, you have to delete its related registry keys and values too. It is a very hard task because of the alphanumeric values created by programs that use Windows Installer (MSI), COM Class IDs (CLSIDs), Type Libraries, Interfaces, etc., which have no direct relation to the program you want to delete. A program may have thousands of such registry keys and values.