Yeah, I agree with the bad hard drive diagnosis. Check the Event Viewer and see if there are loads of "Disk Error" entries in System. Run Chkdsk.
Maybe you are out of disk space???
Bad RAM usually results in BSODs. But maybe you have too little RAM? Or maybe your pc is too old (slow CPU).
Maybe you have a lot of malware/virii installed? You should have a second computer for all your naughty business.
Check Device Manager for devices with yellow exclamation marks - this usually means that drivers are not installed. Also make sure you have the latest drivers installed for your system. If you have a kick ass pc but the vendor's drivers aren't installed your pc will use the generic drivers and you will not see the benefit of having kick ass hardware.
Maybe some other piece of hardware is failing, disconnect all non-essential hardware and test.