There have been several feature requests to add some kind of hierarchy to the tagging system. All of them have been declined, my impression is that the major reason against them is the added complexity.
The issue that a tag hierarchy is supposed to solve is that certain tags that look like a good fit are actually a bit too specific and not followed by many users. The best example are probably version tags on SO. If you have a question about Python, the tag you should always include is python, that is the tag most users interested in this topic actually follow. If you only include a version tag like python-2.7, the question is going to have a much lower visibility than it should have, and some people will miss it because they only follow the main python tag.
There are of course ways to avoid this issue by tagging appropriately and by using wildcard tags to search for questions, but both require quite a bit of experience with the SE system. I think it is worth to solve this issue without relying on the community to fix all the tagging or users looking for questions to know about wildcard tags. This is something that should work by default for all users.
What I'm proposing is a much more limited system than previous feature requests that should avoid unnecessary complexity associated with a full tag hierarchy. In my system, a tag would have the option to have a single implied tag. For example, python-2.7 would imply python. This would result in any question that is tagged with python-2.7 to have a 6th invisible tag python if that tag isn't already present. So anyone filtering by the tag python would also see questions that are only tagged with python-2.7. If possible, this implied tag should also count for tag badges and Mjolnir, just as if the questions were actually tagged with it.
The major restrictions I would propose to reduce complexity are:
- only a single implied tag per tag
- no deep hierarchies, a tag that is already an implied tag can't have an implied tag itself.
This tool is not meant to solve all the potential issues that overlapping tags have, it is meant for the easy cases like version tags, not for anything more complicated. It is meant to be used sparingly, which is why I would make it a moderator-only tool. On a large site like SO this doesn't scale well, but I think this could be circumvented by having an SE developer creating the implied version tags programmatically.
This wouldn't be only useful on SO, on Arqade it could e.g. be used to imply the main game tag if you only tag a question with the expansion tag. On SciFi you could imply the author tag if you tag only with a book/series tag.
The added complexity is mostly hidden from regular users, they don't need to know about this feature at all, it will just work for them automatically. It also wouldn't really complicate tagging, there would simply be more ways to end up with the same result, it doesn't matter anymore if you add the implied tag yourself or not.