Based on the comments I have received, I looked into this a little further. It seems that currently the best practice is to forgo using HTML entities and use the actual UTF-8 character instead. The reasons listed are as follows:
- UTF-8 encodings are easier to read and edit for those who understand what the character means and know how to type it.
- UTF-8 encodings are just as unintelligible as HTML entity encodings for those who don't understand them, but they have the advantage of rendering as special characters rather than hard to understand decimal or hex encodings.
As long as your page's encoding is properly set to UTF-8, you should use the actual character instead of an HTML entity. I read several documents about this topic, but the most helpful were:
From the UTF-8: The Secret of Character Encoding article:
Wikipedia is a great case study for an
  application that originally used
  ISO-8859-1 but switched to UTF-8 when
  it became far too cumbersome to support
  foreign languages. Bots will now
  actually go through articles and
  convert character entities to their
  corresponding real characters for the
  sake of user-friendliness and
  searchability.
That article also gives a nice example involving Chinese encoding. Here is the abbreviated example for the sake of laziness:
UTF-8:
這兩個字是甚麼意思
HTML Entities:
這兩個字是甚麼意思
The UTF-8 and HTML entity encodings are both meaningless to me, but at least the UTF-8 encoding is recognizable as a foreign language, and it will render properly in an edit box. The article goes on to say the following about the HTML entity-encoded version:
Extremely inconvenient for those of us
  who actually know what character
  entities are, totally unintelligible
  to poor users who don't! Even the
  slightly more user-friendly,
  "intelligible" character entities like
  θ will leave users who are
  uninterested in learning HTML
  scratching their heads. On the other
  hand, if they see θ in an edit box,
  they'll know that it's a special
  character, and treat it accordingly,
  even if they don't know how to write
  that character themselves.
As others have noted, you still have to use HTML entities for reserved XML characters (ampersand, less-than, greater-than).