In a nutshell:
Originally Posted by ath20wj
Flashing, (besides showing off your breasts/private parts to strangers), is when a CDMA device is programmed or "Flashed" with computer software to make it work on another CDMA carrier's network, usually a new PRL file is uploaded. MetroPCS offers this service for CDMA phones that were originally meant to run on other CDMA networks such as Sprint, Verizon etc...however success is usually limited..Blackberries flashed to Metro usually only have Voice and Text..no data service at all
Jailbreaking (rooting for Android devices) is removing a phone's software restrictions, or opening the device, so that you have full access to it, and can load any applications you want/make any modifications to the OS that you wish. Many iPhone users do this to install Cydia apps (or apps that wouldn't normally be approved by Apple) or to customize wallpaper, and icons.
Unlocking is when you remove a GSM phone's SIM Subsidy lock with a code so that you can use it with other GSM networks and not just that of your carrier.