As far as hardware is concerned, and depending on your BIOS settings, random restarts can be caused by a bad or failing power supply, bad or mismatched RAM, an overheating cpu, or a faulty peripheral causing windows errors.
As far as software... lots of crap.