I have a hierarchical general taxonomy vocabulary called tags. Some of the terms are only relevant to particular content types; e.g., the "Apples" content type might have a sub-tree in the vocabulary with Cox, Granny Smith, and the "Oranges" content type might have Seville in its vocabulary sub-tree.
When editing an Apple node, I don't want users to be able to select Seville as this doesn't make sense.
I have put the terms into one vocabulary because other content types (e.g. blog articles) might want to tag against any of these.