Some weeks ago, I wrote a comment on the blog post "I don't like tags" by Stephan Waba.
I don't like tags either.
1. Tags tend to be ambiguous. ("paris" – http://en.wikipedia.org/wiki/Paris_(disambiguation))
2. Tags depend on a specific implementation, taxonomy and/or naming scheme (which not all editors might be aware of). That's especially true if you try to avoid point 1. ("france/paris", "paris, france", "paris" + "france", "location:fr/paris", ...)
3. Tags are very unintuitive to use if you have to guess them out of thin air. ("jfk", "john f. kennedy", "kennedy, john f.", "kennedy")
4. Tags are hard to use in a consistent manner. (Did I add a "sports" tag to all occurrences of the "baseball" tag?)
5. Tags are lost in translation. ("paris", "pariz", "parys", "parigi", ...)
6. I have the feeling that I don't understand tags at all.
I like to think of tags as a way to add an object to multiple (sub-)categories of a huge hierarchical meta data taxonomy. For instance, I (try to) sort all of my photos into three different taxonomies which are like three different "views" onto the data: location, set and (pictured) person. That makes it pretty easy to find all images of Guillaume (person) that were taken in Paris, France (location) during a "weekend trip" (set) in April 2006 (image meta data). The mass of all photos becomes some kind of 4-dimensional cluster (date, location, set, person) in which I can find specific objects by filtering one or more dimensions using a condition (location=Paris, France). Every object for that all applied conditions are fulfilled (the intersection), is part of the subset I wanted to expose.
But I doubt that this is the "correct" way to think about tags.
Besides that, I have no idea what to use instead of them.