Here are a my personal principles:
I prefer a tag too much, rather than one too little. Better too much information, than too little.
I am strongly against removing redundant tags from questions. Redundancy serves a purpose and hence I prefer to keep the command-line tag for past questions where it is relevant.
Tags should be edited if they are wrong. That means 14.04 for questions that hold for all ubuntu releases, misspellings in tags, tags for which a dupe exists,... Editing tags out that are not wrong, is vandalism. When a tag is wrong is an area with fuzzy boudaries. In case of doubt, meta or the mods settle the issue.
Users that abuse their edits, should see their edit powers be taken away from them.
This is a matter of semantics and of 'fingerspitzengefühl'. Hard and fast rules are hard to come up with and to enforce. Some 'don't worry, feel happy'-style is needed.
Like Terdon I am also in favor of a broad tag. But that does not mean everything slightly related to the CL should be bombarded as a command-line question. If it is important for the question, it should have the tag, otherwise it can perfectly live without it.
In practice: a question with rm
does not necessarily need the tag command-line, but nothing is against it having the tag! In other words, the command-line tag is not needed for all questions that use the CL but if a question has the tag, there is no reason to remove it. This is a fuzzy line, but I think it is the best one.
For past tags: let's not go edit crazy. Deleting tags is really not the most important things to do and it tends to get a bit on my nerves when tags are deleted for the fun of it. Our attention sould be more on barely tagged questions and on tags with synonyms. There is more important work to be done.