It can be all sorts of reasons, hardware or software.
Loads of information is flying around inside the PC case at alarming speeds, between the CPU, memory, hard disk, etc.
If the data gets lost for some reason it can cause all sorts of problem.
Also the wrong "driver" for a device can cause it to freeze.
Sometimes if the case gets too hot the PC can freeze.
Has it just started doing this?
Have you changed anything recently (new memory etc)
Is the inside of the case clogged up with dust and fluff?
Any error messages in the Windows XP event log?