In general it is safest to leave files alone, but when you run out of disk space this can be a bigger problem than the risks taken by deleting some files. This is more frequently an issue on a laptop than on a dekstop machine as laptop disks tend to be smaller.
Many files can be managed easily by their creator but it is harder to deal with files that are created by the system. No-one wants to make the same mistake as the user who deleted the C:\WINDOWS directory on the grounds that it was using too much space....
Here are some of the ways I have used to reclaim disk space under Microsoft Windows.
Deleting files can render your machine unusable. Good safety precautions include:
C:\TEMP
%windir%\Temp (windir is usually C:\WINNT or C:\WINDOWS)
C:\Documents and Settings\user\Local Settings\Temp
These directories tend to accumulate cruft but, as the name suggests, they are intended for temporary files. Periodically deleting the contents of these directories can reclaim diskspace.
Proviso: sometimes users keep important files in temporary directories, so be careful. I don't *know* of any applications that do.
Proviso: Deleting log files can obviously make problem determination difficult.
I have retrieved as much as 8Gb of disk space from some machines using this program.
Proviso: I have never had a problem using the "G!" option with MsiZap, but some of the other options are highly dangerous!
%windir% - for example $NtUninstallKB936782$
some of these directories can be quite large, and are only used if you decide to roll back the service pack. I have needed to do this several times - for example Windows Server 2003 SP1 turned one machine into a stone, and XP Home SP1 caused another to run at 10% of its advertised CPU speed.
However after a couple of months I am usually confident that there will be no need to revert to the old version, and so I periodically remove the old uninstall directories.
%windir%\SoftwareDistribution.
This directory sometimes accumulates a lot of files, and can be purged. Note that if you purge the directory
and then run Windows Update it will lose its history of what updates you have installed.
However it will not attempt to re-apply already applied fixes.
Clearing this directory is one of the thing Microsoft Support recommend if the automatic updates service is not working, so it has some official approval.
Proviso: some uninstallation programs are flawed and uninstalling an old version can break a newer one. Make sure you still have the means of making a fresh installation as a failsafe.
The symbol cache is usually configured using the environment variable _NT_SYMBOL_PATH
(although some tools use their own setting).
On my laptop this variable is set to "SRV*C:\Symbols*http://msdl.microsoft.com/download/symbols",
and I purge C:\Symbols when I am getting low on disk space.