I was very pleased to read this post by Om Malik (profile) on tags. It is hard to find criticism of tags, but this does a good job of summarizing the problems (as well as pointing to some other posts on the topic). Sifry's recent post on tags quotes Clay Shirky:
This is something the ‘well-designed metadata’ crowd has never understood — just because it’s better to have well-designed metadata along one axis does not mean that it is better along all axes, and the axis of cost, in particular, will trump any other advantage as it grows larger. And the cost of tagging large systems rigorously is crippling, so fantasies of using controlled metadata in environments like Flickr are really fantasies of users suddenly deciding to become disciples of information architecture.
First of all, tags on text are not metadeta. You can not legislate metadata by a syntactic construct. In other words, tags are just words. It is only when tags become references to a new system of symbols with a clear relationship to object data that they can be called metadata. Okay, so I'm making a slightly stronger case here than even I believe in, but the point has to be made. The systemic result of this is that there are many tags that you need in order to capture everyone's idea of metadata. It is ironic that Sifry's post on tags includes such repeats as blog, weblog, weblogs, just to make sure that everyone gets the idea of what the post is about. Clearly these all refer to the same thing. In addition, they all mean the same thing to David. David knows that they mean the same thing to others, but he still has to use them all.
Shirky talks about cost. But he is only talking about write time cost, not the cost that the spaghetti has on the system over the course of the life of the content.
And I am not done yet. When I look at my referrer log, I can see which tags bring more traffic. With a simple utilitarian model of a blog author, how do you think I would react to that knowledge?
The big win with tags is going to be the applications that are built on top of inferences made from them. The tags will become the object data and the inferences will become the new metadata. But hang on, can't we just do that from the text, like tagCloud does?
UPDATE: Kevin Burton comments with a pointer to his posts on tagging issues where he discusses the problem of third party tagging. Note that this is yet another issue - the stuff I am talking about is more to do with the semantics of the author's tags, though the semantics issue doesn't go away with third party tags.