Associating CSS with content

Preferred and optimal: external file


  <head>
    [...]
    <link type="text/css" rel="stylesheet"
      href="stylesheet.css" title="default" />
    [...]
  </head>

Suboptimal but sometimes useful: head element


  <head>
    [...]
    <style>
      [rules]
    </style>
    [...]
  </head>
discussion

What are the benefits and drawbacks of these two methods?