OPen up the Startup folder and see what is lurking in it.
Click on Star and then type in MSCONFIG. This bring up a window, click on the Startup tab. This will list all of the programs that automatically start and run every time Windows starts. You can just untick the boxes to stop stuff from automatically starting.
If you have installed lots of stuff the chances are it will be chock full of things. Basically, lots of things like to simply lurk running constantly in the background, because this means they "start" very fast when you demand them. Or other little "helpers" like spellcheckers that run constantly in the background.
My suggestion would be to turn off things you recognise as being unwanted, and do it one by one, espescially if you decide to start playing with things whose function is not obvious.
Other common causes are just Windows filling itself with a load of old crap, if you installed and even unistalled lots of stuff, the Registry tends to get filled up with redundant entries - and so on. There are Registry cleanup tools you can buy. You should also use Control Panel and uninstall anything that's no longer wanted.
It might be worth defragmenting your hard-drive (right click on it for Properties, then Tools, then Defragment). Clean off any old rubbish luring on the HDD you don;t need to make some free space, espescially if it is 90% full or more, as Defragmenter needs room to work.
I'm assuming you have decent anti-virus protection?
I'd look at doing all that before starting to suspect the hardware.