System degredation - does Windows slow down over time?
Solution 1:
I'm writing this on a 3.5 years since install laptop, and to be brutally honest there is no slowdown. But I did blow away all of the manufacturer's junk and do a fresh Windows install, and I do exercise care in allowing (or not allowing) programs to add in their own shell extensions, services, auto-loaders and auto-updaters. It's by no means pristine though; it has been subject to quite a bit of "install programs/uninstall programs" abuse over the years, but there has really been no detrimental effect.
I think the whole "registry bloat slows your PC down" thing is largely a myth and possibly derived from the Windows 9x days or stoked by unscrupulous vendors selling registry "optimization" tools. The registry is a hierarchical database (http://support.microsoft.com/kb/256986), so performance impacts from a larger registry should be absolutely minimal as navigating to any given registry key is just a sequence of parent to child jumps.
Solution 2:
There is often a huge amount of data added to the registry to support technologies like COM that a large amount of software uses. Often these "shared" components and their corresponding registry entries are never removed, even if the software is uninstalled. In some cases these registry entries must be scanned, and so the more there are, the longer these operations take. However, I do not recommend any of the "registry cleaner" gimmicks, as that is more likely to make the problem worse and add instability to a system. Oh, almost forgot to mention. It is fairly common for registry entries to become corrupt beyond repair, which can cause performance problems as generally attempts to read these entries will only fail after a few moments. Kind of like someone trying to open a locked door a few times before they give up and move on to the next door.
There are also things like broken shortcuts on the desktop that will cause the system to become sluggish(I don't remember if it was this exactly, maybe it was the C root, but it was something equally as strange for which there was a KB article that I can no longer find).
Poor quality Anti Virus software can be a cause of sluggish performance. Often these products hook into windows operations to support their "realtime protection" features. For example, everytime you open a file, the Anti Virus software interrupts the process so that it can scan the file, before allowing it to be opened. This essentially results in the file being read twice, once by the AV software, and once by the actual program trying to open the file. Any harddrive issues you have, fragmentation, etc. will be compounded. I can't really give any advice however, on what AV software is the fastest. I personally prefer AVG.
Laptops often come preinstalled with bloatware that runs in the background. I prefer to wipe them and install WinXP directly from an OEM disk, instead of using the Laptop's brand name restore disk, so that I get the bare minimum OS. Then I load drivers as needed.
I think wiping it is a good idea. The user should get used to saving their data off the laptop anyhow. If it is important data, it shouldn't be stored on the laptop.
Solution 3:
Windows doesn't slow down unless there's something going on. As much as I am annoyed by Windows, it doesn't rot like fruit.
Windows slows down because:
other programs are running in the background memory is low resources are running low the user is exposed to faster systems over time so now they can "feel" their system is too slow. malware running on the system the system is being hit by virtual DOS attacks, slowing the network access the hardware is failing, causing timer interrupts, sporadic resets, or general performance issues drivers aren't updated to address issues (video drivers, network drivers, etc.)
Is the network properly configured? If your switches are flooded and having trouble that can hurt the machine's network performance.
Also adding antivirus and other protection programs adds a layer of slowness. I mean, that's kind of a given, that if you're using a computer with a program that pre-scans all disk access to see if it's nefarious in purpose it's going to slow down performance a bit.
you can run tools like those from Sysinternals to check certain aspects of performance...like what's hammering the registry, what's accessing the drive too much, etc. (procmon, process explorer, filemon, regmon...)
Fragmented disks can cause some slowdown but it usually has to be REALLY bad to have the user use words like WOW! to describe the difference in performance.
It's popular to blame slowdowns on crap left in the registry or system folder, but Windows doesn't randomly read those bits any more than you having leftover bills or old papers around the house slows you down. More often these random bits of crap take up drive space, contribute to fragmentation, and create stability issues than anything else.
It's a good idea to wipe and reinstall just to get rid of drive bloat, fragmentation, and leftover crap the OS doesn't need more than speeding up the computer unless you've got programs installed eating the processor, memory, and there's malware. Just using the same system as a typewriter for a year and basic web browsing/email (as long as it isn't infected with something) shouldn't affect the speed. More likely the user is just perceiving a slowdown.
If you're really curious you should probably benchmark a system then do a wipe/reinstall and re-benchmark it to see if there is a difference.
Solution 4:
Windows does degrade to an extent - predominantly for the reasons you've mentioned in your question. Defrag and clean-up tools can help to rectify some of the issues but it can be easier to just re-build.
Many people go for an alternative option of build the PC up with all required software and then use an imaging tool to snapshot it in that state so that it's really easy to periodically take the machine back to the 'fresh' state without having to reinstall apps etc.
In my experience the bigger problem is the extra applications and services people install, bloatware from printer manufacturers being a good example - user installs a printer with the helper CD and the default option is to install any number of extra tools to monitor ink levels, provide active support etc along with the driver itself. Unless you think to do a custom install your clean machine ends up with an endless number of extra services that all startup when you boot the machine giving you slower start-up time and less resources free to run the apps you really want to use.
Take a quick look as msconfig to see all the extra rubbish that is getting fired up along with the default MS stuff.