How is that not competitive?
The only carrier you can choose with GSM is T-Mobile. But wait, they use the 1900MHz 3G band, so if you've got a phone that doesn't use that band, you're stuck with EDGE data.
LTE won't change this, they've chosen different bands.
Telecom networks are extremely expensive to build. Having more than a few on the same technology would be wasteful, and consumers benefit from a diversity of technologies in the long run in addition to some level of network compatibility.
But seriously, don't like your network? Sell your phone on eBay and buy a different one that works on a different network. How hard is that?
Even with MVNOs, there aren't many real options. If Verizon were GSM it'd be a lot better, but as of now you are really locked in.
Because it isn't a competitive market. Wireless telecoms have been granted licenses to spectrum by the FCC so they can run their businesses. There's a limited amount of spectrum and it's hard for new companies to get any of it. The wireless telecoms industry is anything but competitive.