Although *very* full hard drives can slow down your computer, more likely than not it is adware/spyware/virii/general crap that is slowing down your computer. Defragging is always good and will certainly result in a performance gain, but you should run some scans for unwanted programs. Additionally, take a look at some of the things running in the backgraound. Real-time virus protection (called Auto-Protect in Norton, not sure about other anti-virus apps) can suck down a lot of power, and will frequently cause problems (I was loading BF1942 on my laptop and Norton decided to halt it while it scanned one of the files it was loading... not pretty).
Look through your startup items (Start -> Run -> Type "msconfig" -> Startup) and disable ones you dont need. Google things you aren't sure of, but it is probably safe to disable all that originate from Program Files, and others too.