Once our web application is being used on production environment we have a really hard time updating it with enhancements or bug fixes. The main reason is an initial flaw in the design of our CMS system. We have to usually spent hours to update each prod environment and many times with errors and long hours of debugging. It looks like I am whining so let get back to the objective part of the discussion.
The flaw consist on how the content and programming features are stored in the database together. So basically how the data is display and the data itself is stored in the database. There are some file system changes but they are not content related. Also the application itself creates a lot of references that we cannot track in the database.
As you can see when the application is being used by the end-user and stakeholders, our development team has to publish the changes in production in a manual way.
One more issue is that the application dynamically changes the file system when the database is modified. So both our dev environment and the prod environment now are different and in order to sync them their data has to go, or the dev team has to go through a lot of hand work.
I can explain more or even give you some more examples. Please shoot me a comment if you need.