IMPORTANT: COMPUTERS SHOULD NOT BE CONSTRUCTED OR DECONSTRUCTED WITHOUT THE PROPER TRAINING NEEDED TO DO SO!!!
Freezes and stalls can be caused by many things. One reason may be excessive heat. Excessive heat may not allow a processor to perform at it's stated megahertz potential. The solution: Upgrading your CPU's cooling fan would do the trick. A case fan or two may help as well. TIP: Fans should be taking in air at the bottom of the case, and letting it out at the top, this will keep the hot air outside the machine. If you're low on cash, tying the ribbons and wires in bundles inside your computer may help airflow through the machine as well.
Another reason for freezing is not having enough RAM (Random Access Memory). The solution: Buy more RAM. It is ungodly cheap right now. If properly trained, self-install.
These aren't all the reasons, though. Another may be your system resources, which is basically the available RAM a system has. The larger and more graphically intense an application or game is, the more system resources it will take up. When less than around 60-70% of the resources are remaining, the computer can and will usually freeze. The solution: Resources can be freed by eliminating the number of background services and startup programs being run. Windows 95\98 users should use the System configuration utility to do so. It is accessed through System Information, underneath the tools tab. When the window appears, select selective startup. Under the last tab (Sorry, don't remember the name of it), there lay check boxes. Do not uncheck any system processes or registry scans. RunDLL should stay on too. Otherwise, uncheck the unnecessary boxes, most of these peripheral programs can be selected manually during normal computer use. In Windows NT\2000, the background services must be deleted through regedit. DO NOT EDIT YOUR REGISTRY UNLESS YOU KNOW EXACTLY WHAT YOU ARE DOING!!! The location is under Hkey Local machine\software\microsoft\windows\current version\run. The removal of these unnecessary programs will have your machine running MUCH faster, I garauntee it!
Another reason for a freeze or stall is conflicting IRQs (Interrupt Requests). The solution: Configure them in the System Information window.
Freezes and stalls in a system may also occur when incorrect drivers are loaded. The solution: Duh, Load the drivers.
Incorrect Software and hardware configurations can rain on your parade, too. I cannot list all of them, I'd be here typing for the next 100 years. For a final solution, then, I suggest the following: Don't listen to salesman at department stores, they just want your money. Do research on your purchases yourself. Cnet.com is a good site, as is sharkyextreme.com. Look up on the proper software\hardware configurations of the peripheral(s) or applications, and install only when fully confident that nothing can go wrong. Otherwise, you may be consulting another article like this one again, only this time, on someone else's computer (get my drift?) in the very very near future.
There are other instances in which a system will freeze or stall. I belive, however, in my years of experience, these are the more common end-user ones.
I hope this helped any remaining questions on the subject out. And thank you for reading. Please rate this so I can better my advice to others in the future.