My argument did not ignore competitive voice offerings. In fact I specifically pointed out exactly such a case (where AT&T removes regular the regular call function and replaces it with a direct VoIP competitor.)
Skype may be an alternative, but it is NOT a direct competitor. Its kind of like comparing Coke to tea vs comparing Coke to Pepsi. In both cases you're comparing beverages, but in the former its not really a direct comparison except at the very vaguest "its a beverage" level.
As for how they identify the "type" of traffic.. they have lots of ways. They're free to prioritize RTP over BitTorrent. But if some clever person comes up with a way to run her BT client over RTP in such a way that they can't be distinguished well... onus is on the carrier to deal with that. And if they can't figure it out then tough shit. (Though in this case, I can't really think of an argument for prioritizing voice over radio anyway -- choppy tunes are as annoying if not moreso than a choppy telephone chat.)
Its similar logic to why so many protocols have an "over HTTP" mode -- HTTP is open pretty much everywhere whereas many firewalls (and most business-level ones) are set to block pretty much everything else.
As for how the carriers can do it.. things like deep packet inspection exist. And while DPI has gotten a bad wrap due to its potential ability to be a massive privacy invasion, it also has plenty of non-nefarious purposes such as differentiating different types of traffic that happen to use the same protocol. And I'm sure more tricks will exist in the future.
The thing that we really want to avoid when we talk about "net neutrality" in the common understanding is carriers shaping traffic purely for profit (things like selling preferential treatment.) Shaping traffic to deal with actual network limitations is fine and in some cases necessary.