The whole points of a CMS (for my clients) is to make it easy for them to make changes to their site without involving me. If the CMS is broken (and I've never used Drupal so I have no opinion of it), then it's time to use a different one.
Only one customer was different, and they were the exact opposite. It didn't want to pay for a CMS (this is ten years ago when there weren't dozens of generic free software CMS), had little clue about how their website fitted together, wouldn't participate in designs, yet insisted on having complete control over their site. Perhaps a throw-together offering on something like drupal would have been good for them.
The time-and-materials approach makes so much more sense: Steady work for web dev firms, the work can be done by junior workers, the client gets a professional site and can focus on their business instead of messing around with HTML.