People don't generally use hierarchical structures 'in the real world' -- it seems to be something that has been forced upon them, a technical remnant of the past.
What needs to be understood is the way that people recognise and organise things. Our brains don't work in a hierarchical way (without generating a lot of heat). Instead, we recognise things by similarity -- similarity of appearance, smell, taste, touch, etc. We see an apple, and we know it's an apple straight away. We don't have to think about it -- in a sense, it's a one dimensional way of thinking.
Since we recognise by similarity, it seems appropriate we should organise by similarity, too. This is something that hierarchical structure cannot achieve. Two documents may be very similar, but may differ by 3-4 branches on your tree. In the hierarchical world, these documents would be very distant. It is also difficult to define a canonical hierarchical structure -- a single document may be adequately described by two or more paths on your tree.
So it seems a more appropriate way is to 'cluster' documents. Rather than selecting documents to fit in some rigid structure, you create a fuzzy structure to fit your documents. You may create some descriptors (tags) for each document and use these as the basis of organisation.
The great benefit of tags is that they are relatively future proof. Trees work by assuming you know how you are going to query the documents in the future. For the Dewey system, this is fine because we are still querying books, in the same way, to find their bookshelf location. But, for digital documents, it may be more difficult to predict how we will query them in the future. By creating some semantic description of the document, it doesn't matter how we are querying in the future since the structure exists to explain the document, rather than simply locate it.