It's not throttling; it's
packet shaping. They are similar concepts in the way the user experiences it, but it's fundamentally different in how it works. Traffic shaping, or packet shaping, is when the provider intentionally introduces latency. The argument is that it allows low-bandwidth systems that can't handle high latency to recieve the low latency they deserve, but the problem can be solved
properly with well thought out Quality of Service model.
At my company, we use QoS very extensively. EVDO traffic goes through the same backbone that internet traffic does - voice calls are just industry standard VoIP, and 3G cell phone providers all have their hand in the internet game already, so it just makes sense to combine the networks. If, however, the network is bogged down from non-voice traffic, the same rules do not apply: it's not acceptable to drop a call, and it's not acceptable to degrade the quality of that call.
So, what do you do? Traffic shaping sounds great - just ignore non-voice data until the voice data buffer is empty, and then process the rest.
WRONG!
You never let data sit in the buffer without re-transmitting it. If you do that, the client will re-transmit - that's guaranteed by just about every layer on the OSI model. You have to treat the overages the way you would if there was no high-priority traffic: just try taking another route. The other route might not work, but it also might discover a faster path! In the average case, what you find is that there's actually no effect, since it's totally normal for a frame to get dropped on the internet due to poor pathing anyways - in fact, that's what makes the internet resilient against physical restructuring and network load.
3G adoption in the US was slow because ISPs didn't know how to handle these cases. When QoS was first conceived, its implementation was extremely naive. QoS traditionally works at the IP level, by flagging packets with a priority. This is a good model to start on, or for use behind a customer's NAT-enabled router, as it allows applications to specify how latency-sensitive their data is. It's flawed, however, because applications can also abuse that power to perform DoS attacks.
From Comcast's perspective, this dated QoS model is the only one that exists. They're not an IP company, they're just providing a service. They don't want to spend money researching ways to enhance their network, they just want mom and dad to be able to have zippy access to Hotmail.
It's really sad that this is the case. They went through all the trouble of defining packet shaping rules when they could have spent that effort defining QoS rules. What's even worse is that this whole thing is way too complicated for mom and dad to understand - I know my parents aren't going to be angry, but I sure am.