The standard un-install utility doesn’t work sometimes.
This happens when there is usually more than one database instance.

Remove the directory and everything under it.
Remove the dir from the path (use control panel/system for this).

Remove the following SQL registry entries using regedt32/regedit.

(All versions)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSSQLServer
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer

(6.0 and above)
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\MSDTC
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLExecutive

(7.0 and above)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SQLServerAgent
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server 7
HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServ65

If you have lost permission to any of the registry keys then log on as administrator and take ownership of them starting at the highest relevant level.
Use regedt32 and check the box to take ownership of all subkeys as well.