Finally, regarding dc:subject, a tag can be used not as a subject
(think of a webpage tagged "cool" or "todo", they are probably not
used as subject) so the semantics of dc:subject is probably not what
you want here.
I think this comment from Alexandre gets to the core of the matter.
Tagging has grown up as a kind of "metadata-lite", ie a quick way of
categorising blog posts etc into topics, often fairly broad topics.
Of course it can be a very useful way of finding related material.
However if you are able to say something more precise, then I think
you should - eg by using dc:subject or foaf:primaryTopic, to say that
a blog post (or other document) is about a particular thing that you
have a URI for.
You might also want to have tags of course, in their role of more
general categorisation and the Common Tag ontology looks a nice way to
handle that, especially with its capabilities for saying which user
added a tag - so letting you handle an applicatoin like delicious.com.
Cheers
Bill