See http://fuzion.co.nz/blogs/styling-mails-civimails-civicrm and https://civicrm.org/extensions/css-inline
The summary (in Xavier's words):
Writing html email is a PITA.
Most of the mail clients (or webmails) are stuck in the past and can't render properly any html that follows more modern techniques than my grandpa used (hello longjohns and html tables for layout).
Moreover, they don't deal with stylesheets. This civicrm extension helps you with that part, by applying to every html element the styles that should have been applied automatically if bloody webmails behaved.
No more blue underlined links on gmail, no more time new roman on outlook.