In the last year, I've expanded my use and knowledge of Open Source CMS systems like Joomla and WordPress.
As a result, I've been getting more requests to make updates and fixes to existing sites.
I've been finding, unfortunately, that most sites are built poorly. The past 'developer' either had no programming background or simply didn't care enough to do a good job. Themes and extensions are added willy-nilly without regard for the quality of the markup or code. The plugins are often heavy and inflexible.

It is often hard to tell how long an update will take. Recently, I was asked to make some css changes that seemed simple enough, but when I got to work, I found that page styles were all over the places: css files in remote corners of modules, inline styles hard coded into dense php, and admin panel parameters. I ended up eating a ton of time.

Any thoughts on what to tell clients? These can be difficult conversations. It is often hard to estimate how much time fixes will tak, and clients don't want to hear that what looks like a minor fix is going to take 20 hours or simply that you don't know how much time it will take.