My Samsung Captivate Freezes all the time. It's quite annoying! I am not sure if it is the Android software, the Samsung hardware, or AT&T's crappy service. I have found that if hold the volume up key and the power key at the same time it will reboot your phone. It takes a couple of seconds of holding.
I complete reboot can usually be forced by holding down just the Power button for an extended period of time (if the device is frozen).
As to doing a "factory reset" - I'm not sure what the best way to do this on a stock phone is. If you're rooted and running a custom ROM, doing a full wipe from Clockworkmod Recovery is easy - but phones don't come with CWM installed from the factory.
Unfortunately the filesystem (RFS) used in the stock firmware of Samsung phones is fairly awful. It degrades over time in a manner similar to FAT. That's why one of the first orders of business for custom ROM developers/kernel hackers for a new Samsung device is to port over Voodoo Lagfix (an automated conversion from RFS to ext4 - ext4 is the official standard filesystem for Android devices.)