If you also incorporate a notion of hierarchical tags (where for every tag X, there exists a set of tags Y which act as the conjunction of X and Y) and extend the above ability to allowing viewing files tagged with X but not tagged with any child tags of X, you can recover the familiar multi-level file system again by tagging files with at most one tag.
GMail almost gets this right, as it has a hierarchical tag system, but (AFAIK) it has no means for viewing e-mails tagged with a given tag but not any child tags.
P.S: As far as my personal stance, it comes down to the type of use/nature of application/(perhaps more appropriately) amount of attention being spent. I don't want to have to descend hierarchies of filesystem(Even ones, i created/customized myself) to find my music. OTOH, I'll be pissed, if i have to search for my code files by tags/file contents.
This is equivalent to hierarchical tags (if you allow that an "untagged" file is equiv. to the root directory) but maybe less confusing.