I have an idea I'm trying to get my head around .. I haven't tried to do any code over this but I think I understand the idea I'm pondering.
I have a couple scenarios in mind where the vocabularies applied to a node might vary. And I'm curious how to implement this.
Concrete example: I have a 'Website' content type. Suppose I can think of 7 broad categories for the universe of possible websites I want to list on my site ... but within each of those broad categories there are subcategories that aren't so well defined. I like the "Free Tagging" style of vocabulary which lets the user choose category names at the time they make the posting. The two together gives a two-level categorization (main category, sub category) which can probably lead to a nice navigation structure.
That could be two vocabularies: "main" and "secondary"
But really there should be a unique subcategory for each main category. It should be "main" and "secondary1", "secondary2", "secondary3", "secondary4", "secondary5", "secondary6", "secondary7".