To start this off, I must first preface the entire post as that this is not a rant, but it is informative to hopefully grant an understanding of what is involved. Website design and development is a constant circle of actions. Try a coding effort and see if the client likes the results.
Let's assume that the client likes the results. Ok then we just do what is necessary to keep the look and feel the way it is. Now for the flipside of that. The client doesn't like the results. The site needs to then be reworked and put back the way it was. This sometimes is no easy effort. But often times it is.
Repairing a website however is a whole other situation. Behind the scenes of what makes a website function is a lot of code, addressing and a storage location for which the site is housed. Any one of these can fail without any notice. When updating the site if it's straight code then the likely-hood of failure is far less. But say the site is a content management system build (CMS), then when updating any part of it or the entire site can have major problems when they fail.
Again this doesn't happen often but it can happen and it does make for the repair of the site much more tedious. So the question then comes well how do you know that the site is having a problem? It's very simple. To make that determination, you have to load up the site in a browser. Locally loaded websites don't usually show any kind of a problem. However it is only when the site is active via a server that we end up seeing the problems.
It can be something as simple as the font colors not showing. To something as complex as the entire website's color palette isn't showing up the way it was supposed to. Repairing this damage generally isn't so simple with a CMS. This is mostly because while the CMS has the information of the site in terms of any custom settings, the style sheet may not be accepting it. So to fix this could take a few hours at times sifting through the lines of code to make sure that the site is loading with the right colors.
Also any other customizations that were done to the site either in the style sheet or individual pages may need to be reloaded in order to fix the problems of what is happening with the website. Knowing what you need to change is always the challenge as when files get updated they don't always have the same information that was present the first time.
To that end I always say update with caution as when themes other parts of the website, be it plugins, different fields can always be affected. It is highly recommended though that you do keep an updated website to help protect it from malicious content being put into the website.
So how do you handle this problem? Back up the data and potential files for comparative purposes. Generally it's only a couple files that need to be backed up and then overwritten in order to resolve the problem. However other times it can take having to modify the new files directly. Repairs on this level can take time. Generally it's done on the back end while there is some semblance of what the website originally looked like. But something like this can take anywheres from a couple hours to maybe over a week's time.