I know there have been various discussions for tag maintenance, but there is a workflow that doesn't seem to be accounted for here.
Some tags continue to get used, even though there are more appropriate tags for them. For example, lion is used a lot, but osx-10.7 is more appropriate. Not just because "Lion" is a vague term for a tag, but also because there is also an OSX-10.7 tag which means the same thing.
I suppose we could add lion as a synonym for OSX-10.7, but what if the term gets used for something else called "Lion" in the future?
One possible solution is to remove all instances of "lion" and replace them with OSX-10.7 and let the system auto-delete it. However, there are several problems.
First, there are two migrated questions with "lion" tags, and we can't remove the tags from migrated posts. And, it won't fall afoul of the single tag purge every 6 months either. Maybe enhance the system to allow retagging of migrated posts?
Second, people are just going to keep creating a "lion" tag, because in their mind "lion" only means OSX-10.7.
Other examples of "vague tags" ar down, and drop which has people using it for "drop-down" or "drag and drop" or any number of other vague uses. I like how people have tags "Drop" and "Down" and "dropdown-menu" in the same question.
Perhaps adding a "vague term" feature to SO might help, like the banned tags and the synonyms this would be a list of tags which aren't recommended. Perhaps it can suggest a better tag, or just complain.