Setting Profiles ($3.95 USD) is the one for me. LOVE it. Does it snag your location perfectly? Not always, and it can be slow to let you out of that location, but it generally works very well. Lots of config options. I've got rules based on time of day, day of week, location, etc. Very powerful. Profiles can be configured to do most anything you want with the phone and rules/profiles can be stacked on top of each other. Every night, I've got my charging, home and nighttime profiles running and the combination gives me the perfect mix of settings.
I even have this thing set to SMS my wife an "almost home" message when I get to a point that's about 15 minutes from my house while on my way home from work.
Pretty active user community with responsive developers. Me likey.
Definitely try out Tasker:
Tasker for Android
It's the most customisable, actively developed app for this kind of thing I've come across. Changing profiles is just the beginning, it can update almost any setting based on any number of contexts.
I tried the others and they fell well short of this. Not a bad price either.