Add enough tags and then you have a gawdawful mess and you need tags to organize your tags.
And the more you tag, the more difficult it is to fix. Either you retag everything to fit the new standard or you accept that trying to retrieve things by tag will return some weird set defined by the intersection of your changing definition over time and the time at which you applied the tag.
I don't doubt a more structured and principled approach would help, but I found it just ended up soaking up tons of time, and thought, without actually providing much back.