The problem is, while most vendors support tagging and priority queuing, non of the current vendors can support true end to end QoS. Instead, we have taken to calling their options CoS.
The problem that I have seen is that while you can make certain that a good effort is made to ensure that your high proirity traffic is transmitted before your best effort traffic, you have no real way to ensure that the high priority arrives at the destination in the same manner that it was transmitted. I'm talking about packet order, jitter, and latency. Sure, it will probably get there, but will the data still be worth anything.
For Internet traffic, QoS/CoS is probably not worth it, as there is no way to realistically do either across two or more network providers. The real need will be on single provider wishing to sell more than just Internet across their expensive backbone. Such applications will be Toll-quality voice, production/broadcast-quality video, VPN, etc.
The way I have seen it, either IP QoS will have to become a reality, or the applications themselves will need to change to handle the poor CoS substitute that is offered now.