I've been using Drupal for years and now with work need to learn Expression Engine. I'm interested in the comparison of Drupal and Expression Engine, but purely from a theming point of view (I've no doubt Drupal is more powerful for development). Does anyone have any insights?It seems EE does give you more control over the HTML output, but is this necessary? I design my graphics first and I've always been able to make exactly what I wanted in Drupal (some theme overrides could be easier, but I've gotten there in the end). 
Expression Engine vs Drupal for Theming
cms;theme
One of the major differences you'll find between the theming methods is that versus Drupal's somewhat programmatic style and mixture of theming in both files and database, ExpressionEngine's is more like creating an HTML shell and then adding output variables and looping constructs to it. I'm not sure that it particularly gives you more control, maybe just more direct control, right in the template itself.So, where Drupal's page.tpl has:<?php print $content ?>...which automatically dumps out your content fields and all sorts of handy CSS ids and classes as you've configured things in admin(I'm simplifying some, obviously), your EE template might have something like:<div class=entry>    <h1>{title}</h1>    <div class=entry-body>        {body}    </div>    <div class=entry-footer>        {entry_date format=%Y %m %d}    </div></entry>     This is slightly outside of theming, but ExpressionEngine also has some strong opinions about what your URLs will be. There's a large documentation page dedicated to just listing multiple ways to force EE to remove index.php from your URLs. Paths are also very tightly coupled to what you name your templates and template groups. So rather than simply telling pages where you want them to live URL-wise, you may end up naming your templates oddly just in order to make them end up at the correct URL.