While it is very rare for any Windows Phone to crash or freeze, we have on a few occasions seen it happen. It's rare because 3rd party apps don't have access to the core of the OS and therefore it's very difficult to cause the system to become unstable. Still, the problem may pop up and we figured we would cover you for the Lumia 800 & 900.
Why these two Nokia devices? With their unibody design, there's no physical way to access and therefore pull the battery. That puts users in a pickle if they need to soft-reset a stuck device. So without further ado, here's how you do it:
Press and hold the volume keys, power button and camera together for 3-5 seconds
The phone should soft-reset (although some say you should feel 3 vibrations, ours never has)
Press and hold the volume keys and power button together for 3-5 seconds
The phone should soft-reset
That's it. So although you will probably never need this it's good to know if you're in a pinch.
Edit: Some are saying in comments that just holding the power button for 10 seconds works too.