I have spent a bit of time modifying several web sites that I own or maintain. Most are WordPress sites (as are this one). All use the same theme, but I have modified the theme a bit to make things look and work better.
The proper way to do that is with ‘child themes’, which I have done on most sites. But a few earlier site ‘builds’ didn’t fully implement the child theme concept. There was some customized content (mostly templates) that wouldn’t survive a theme code update. A new version of the theme that I use came out last week. So I had to set up a proper child theme configuration before I updated the theme. (The theme rather rudely gets rids of any customized templates. I have local copies of those templates, but it was a bit of work to get the site pages that use those templates back working properly.)
A bit of code reorganization, and those sites were ready for the theme update. This time, none of the customized pages broke, which is a good thing.
Any new WordPress site that I set up is done with a proper ‘child theme’ configuration. It makes it a lot easier when upgrades are needed — things won’t break.
(If you are interested in the other sites, start with the CellarWeb site at www.cellarweb.com . Then look at the “Things We’ve Done” page to see the various web sites I work on.)