We've had different experiences, but I wouldn't touch it with a 10' bargepole, not any more. And I'm glad I've been managing to encourage my boss to start moving away from it. The only positive thing I've been able to take from it is a list of things never to do in my own code.
Like I say, it's not just Drupal. It's a side-effect of over-complication in the name of simplicity, and trying to run in parallel a system that makes it easy for non-devs to use. It's a recipe for disaster if you want lean, maintainable code.