I tried Locale, but just wasn't satisfied with it.
Tasker, on the other hand is perfect for me. It's still in beta so it's free, but man, it can do sooo much. Currently I have it set to:
Home (within 30 meter radius of my apartment)
-Turn on Wifi and flash message "WiFi ON"
-Turn Off keyguard and flash message "Keyguard Off"
-Set All volume levels to my taste
-Display the message "Welcome Home"
-Turn on Autosync
-Turn On GPS and flash message "GPS ON"
-Set screen shutoff time to 3 mins
Not Home (outside my 30 meter radius)
-Set different Volume Levels
-Set Screen Shutoff to 1 min
-Turn on Keyguard and flash message "Keyguard ON"
-Turn Off WiFi and flash message "WiFi Off"
-Turn Off Autosync
-Turn On GPS and flash message "GPS ON"
-Flash message "Out and About!"
Plug in headset (Only time I will ever use headset is in my car)
-Turn Off keyguard and flash message "Keyguard Off"
-Turn Off WiFi and flash message "WiFi Off"
-Set volume levels for media playback
-Turn On GPS and flash message "GPS ON"
-Pop Up a dialog asking whether I want "Music only" or "Navigation Mode"
-If I choose Music Only, it then pops up a dialog asking me which music app I wish to run (Pandora, XiiaLive, or Btunes)
-If I choose Navigation Mode, it Opens Google Maps, then immediately asks me which music app I wish to use. After I pick my music app and get my music playing, I back out of the music app till I'm back to google maps ready to choose my destination.
-If I unplug the headset, it will close all my music apps, close navigation, do a check to see whether I am Home, or Out and about, and run the associated tasks
Plug in usb AND headset
-Never Turn off screen
It also lets you create your own widgets which will run any tasks you want, so I made one for each of the above profiles just in case I need to switch manually
Also made one called battery saver, clicking it will turn off auto sync, wifi, gps, set keyguard ON, and Set Screen shutoff time to 30 seconds. Like airplane mode but can still get calls and texts. It currently has no way to shut off Mobile Data, but does have APNdroid support
This is just basic stuff, you can create variables, set conditions, run apps with option data. That requires a little more coding though.
Wow, this came out longer than I thought, sorry. I've just spent so much time creating my customized tasks I guess I needed to brag about it.
TLDR: Tasker is more customizable than Locale and it's free.
Tasker for Android
the download link is in the forums, no registration required