Tags and hierarhical views (like a dictionary structure) are the two main methods for information organization.
As dictionary structures are more familiar to most users (many real life analogies exists like looking for a specific art book in a library or looking for milk in a mall), at first they are usually more comfortable with them. But a hierarchical view has to be defined (at least the general structure) before the actual content is created, which is not so suitable for natural "content" growth. Also it doesn't provide any alternative views (for example I cannot look for food based on sugar content in the supermarket).
Tags are more organic, and after the users get used to it, provide a more natural way to look and sort information. On the long term however the organic growth of the tags could became quite chaotic. For example there could be many tags with the same meaning, but with a different spelling or word. Also, it is very hard to define a multilangual tag system. While on a small or medium scale tags work well, I think on a large scale they need heavy maintenance.
I like the way tags work here. If you fill out a tag (on the question asking form) a small pop-up shows what are the tags for your input, and how many items are tagged with each word. This helps me to decide what the exact tag word for a specific content should be.
Overall I like and use tags on other sites too, because they provide quick customizable views for large amounts of information.