As I'm teaching some friends the basics of Drupal I see a common mistake, putting too much functionality into the theme. The real problem with this is simple: the site's look and feel may change with or without the site's functionality. If you're using a custom theme, it's tempting to throw functionality right into page.tpl.php and call it a day. But you're setting yourself up for headaches. Trust me, I know from experience.