So in a general case 802.1q is handy and cool, grab two switches connect them with a single cable, do some configuration and have multiple virtual lans spanning both switches. You can even do funky stuff like have an ip phone have a switch in it allowing the local computer port to be on a separate vlan from the phone over one cable.
And linux can easily be setup with virtual ethernet cards so that that one cable between your linux box and the switch can be multiple networks. And with virtual switches and virtual machines you can configure it just like you would a real switch and real machines with less wire. All useful.
But I am confused by microsoft's implementation. (I know that there are aftermarket network drivers that present multiple network cards, but these are not default.) You can configure which vlan the network card uses. As in only one. What advantage does this provide? if you cannot support multiple vlans all that tagging does is make each packet a little larger for no reason. The only use cases I can think of is for with unmanaged switches or hubs to be segmented (which I might try in a lab, just to see if I can, but not something I would use in production), or to deal with a misconfigured switch (although fixing the switch might be a better idea).
What have you used it for?