QUOTE(Sarah)
I've nearly got it through my head
Not quite, at least I don't think so...
TAGS:
CODE
<a> or <title> or <img> or <b>
Just the bits between the angle brackets that start everything off.
ATTRIBUTES:
CODE
href="something.html" or style="somestyle;" or alt="some text here" or src="image.jpg"
These are things that modify the tag. They're written inside the angle brackets of the tag.
ELEMENTS:
CODE
<title>Page Title</title>
<a href="link.html">Anchor Text</a>
<img src="image.jpg" border="0" />
Tags, attributes, text and all the other bits that make these suckers actually do something on the page. In plain HTML, not all elements need to be closed (such as the "img" tag/element, which can stand on it's own). In XHTML, every element needs to be closed, thus the addition of the " /" (space and slash) at the end of the IMG tag (which makes it an IMG element, I think?

).
Personally, I've never really cared as much about the distinction between an element and a tag as I have about the distinction between a tag and an attribute. Since there is at least one tag that shares a name with an attribute (the infamous "title"), leading to much confusion when the two are mixed up, I try to make it a point to use the word attribute correctly in context.
I generally use "tag" and "element" interchangeably, even though I suppose that's not technically correct, because the potential for confusion and the consequences thereof is much less, at least in most normal forum conversations.
Present conversation excepted, of course.

CTPhil, I think you've got it!

--Torka