Tags allow set operations (union, intersection, etc) that are impossible with a tree based file hierarchy, even when using softlinks.
For basic usage, sure, you could make a folder for every tag you make and softlink everything into that folder to make it have said tag. But what if you now want all files tagged as "rent" but that are not tagged to your current landlord? You'd have to get the list of files in the "rent" folder and subtract form that list the list of files in the "" folder.
If you make tags have an order I'd even argue they are strictly superior to a tree hierarchy. Edit: that means that there is not a single operation you can do in a tree hierarchy that you can not do with those ordered tags.