I hate CMS. HATE HATE HATE. They can be such a pain to develop for.
However, in all my travels (so to speak), the best one I've worked with is Concrete5. For some reason, it makes the most sense to me. I actually have several sites in production with it. I did do some Joomla dev a while back and I tried Drupal once, but they were just too annoying to make templates and controls for. C5 just made more sense to me than anything else.
I still hate CMS apps, but C5 I hate the very least.