I'll answer that by passing the buck: I borrowed the tag names
directly from GNU TeXinfo.
If I had it to do over again, there would only be three phrase-markup
elements: <em>, <tt>, and <??> where ?? is b or something like it.
They're short, almost meaningless worlets that mean, respectively,
emphasized, machine-like, and strongly-emphasized. (pretty close to
TeX's <em>, <b>, <tt>, though it also adds <sl> and a few others, as I
recall...)
When I added all those others (<var>, <cite>, ...) I was overly
influenced by my experience with technical documentation.
HTML is a very broad, very shallow, generic SGML application. It
captures common communications idioms, and should not go deeply into
technical documentation strucures -- nor annual reports, nor
advertising idioms, nor legal document structures, nor scholarly
document structures, nor any of the other "vertical" applications
toward which is being pulled.
Dan
p.s. Think Stylesheets[1]
[1] http://www.w3.org/hypertext/WWW/Style/