Much of the information above is moderately helpful but I decided to chime in anyway. There are many factors that can create 'bottlenecks' and slow down the response time of your computer. Starting from old or failing hardware components, onto the usual culprits of fragmentation, trash left behind by uninstalled applications both in the form of files and registry entries, and simply having too many things loaded on start-up.
Unless you have a newer SolidStateDrive fragmentation will always be an issue. Add onto that the increased usage of the drives space on a HardDiskDrive, and the HDD must cover more ground in order to find all the bits of the files it needs to access at any given time. Generally speaking windows will not put a file onto the drive in one large piece and may have it split up onto several places on the drive. Programs such as PerfectDisk12 help to not only defragment your drive but also to help prevent fragmentation buildup by redirecting writes to minimize such archaic writing practices making it easier for the HDD to locate the information in fewer seeks.
As you install programs not only do they take up drive space, they generally (not always-but mostly) also add registry entries. The registry is essentially the backbone of a book gluing the pages of your copy of windows together. Applications create/modify and occasionally delete entries contained in the registry. Usually even after a uninstalling an application, some remnants can be found in the registry. The more applications you add/remove the larger your registry grows once again resulting in more seek time from the drive, as the registry also exists as a set of files, and more processing power to sift through the information it contains. Though not something you want to do often, or without first making a backup...a thorough registry cleaning may help. The formerly suggested ccleaner is a decent freeware that will do this in addition to searching for unneeded temporary files.
Unnecessary startup-entries are a real issue on a lot of computers that I look at nowdays. While theoretically they shouldn't be an issue for anything but a slight increase on the booting/startup time of your computer (or if you have a low amount of RAM) I find more and more of these poorly written or aggressive applications consuming CPU time while it should be idle or eating your internets bandwidth by constantly phoning home. I once found a computer loading five different search engine bars on bootup and the person used none of them.... More and more applications today also install such things without asking you so this may be something you wish to check on. Just look up startup cpl on google and you should find some free programs that will help you explore most of the programs that have added startup entries. Another place to check, though I wouldn't suggest doing so lightly is your services in the administrative tools of the control panel. Some applications also add things here that start automatically but could be changed to manual and be loaded only when needed as the application is actually launched. Other software, particularly Anti-virus, firewalls, etc need such services to function correctly.
Finding the right software is key. There are literally thousands of poorly written or unsupported applications available out there. Test many, find the one that does what you want and ensure it plays nicely with your other software! This is especially true of Anti-Virus or Firewall programs!!! While all anti-virus programs with real-time protection enabled will result in a minor slowdown as they must process/scan files before they are used some are worse than others.
If you don't use an anti-virus then of course virii, malware, etc can also have major impact on your system not only in speed, but security. They could grab your passwords, take control of your computer with a trojan. Modify system files and cause errors or BlueScreensOfDeath. In fact your computer could be used to route their hack attacks on other users resulting in even more trouble for you down the road.
If you download and test alot of software like me I would suggest the use of a program like Returnil System Safe which allows you to begin virtualizing a session and discarding ALL changes upon reboot. Meaning I could download ten programs, activate the virtual session, install all ten, test each, reboot and when I start my computer again they were never actually installed! That function is free but if you want more advanced functions as saving a session to disk to make it permanent or the virus-protection (which I disable in favor of my own AV) you will need to dish out some cash :-/ One drawback of this program is that if the program requires a reboot after installation before you can test it, you won't be able to use it for that. I also noticed that this one does not play well with Eset's NOD32...