Jason Fitzpatrick is warranty-voiding DIYer and all around geek. When he's not documenting mods and hacks he's doing his best to make sure a generation of college students graduate knowing they should put their pants on one leg at a time and go on to greatness, just like Bruce Dickinson. You can follow him on Google+ if you'd like.

Rooting (disabling the built-in protections of phone operating systems) opens the phone completely. Almost all apps run on non-rooted phones, so what is the reason to do it? Sure you can change the radio (the telephone part of the phone) and do other cool things. But the only concrete reason to open a phone is for overclocking. Programs like SetCPU only work with rooted phones. If you have a CPU in your phone that will safely run at higher speeds, go for it. But most of the slower 528 mHz processors are maxed out already. Adding new ROMs, which are often filled with ducky new services that take lots of CPU power to run, only slow the phones down. If you set higher rates than the CPU can handle, you get instability.
I advise to check online to see how fast others have overclocked your exact phone. If it is not at least 15% higher than stock, I advise not to go down this path. A bad ROM installation and your phone is dead.

@Paul, I take it you’ve never played with Cyanogen. The default Android install on all the phones I’ve played with is flaky and crashes all the time. Even my Nexus 1 that came directly from Google and only got it’s updates from Google. Cyanogen Mod fixes all that (as long as you use one of the stable releases, not the beta or RC ones). You should really give it a try. It’ll make you completely rethink the Android OS (even on the slower phones). During the install, the instructions walk you threw installing a bootloader that you can use to backup your rom so if you screw up the install, you can recover your phone.