At work we often find ourselves having to return to live Drupal-built sites that we've deployed to make enhancements or tweaks. It can be challenging deploying the changes from the development environment to the live site, particularly considering that so much is stored in the databases.
For the last few months I have gradually been coming round to the huge benefits of using the Context and Features modules. Up to now my thinking behind their use was to improve the initial development stage by simplifying the logic behind sites and wrapping up commonly deployed features for faster deployment. Then I came across this excellent article on site development workflow from Lullabot that shows how much more invaluable these modules are.
Context, Features, and Views (which we already use a lot) are clearly the way forward. Moving the configuarable parts of the site into the code mean that the client's data can stay in the database unaffected by the modification being deployed after the site has gone live. I can foresee a happier future!