This situation is not helped by the fact that the carriers have steadfastly refused to standardize on wireless technologies. Even the two GSM carriers (AT&T and T-mobile) have never agreed on the same set of frequencies for data... so eg., AT&T HS(D)P(+) devices (e.g. Galaxy Nexus, iPhone 4) didn't quite work on T-mobile and vice-versa. The regulatory agency (FCC) has basically been either helpless or complicit and maintaining the status quo.
Things might get a bit more competitive with LTE (with more standardized hardware etc.) but there doesn't seem to be any incentives for the big carriers to stop this effective collusion to start a price war. T-mobile seems to be breaking ranks in some ways but I haven't really seen a pricing strategy designed to pull the crowds yet even from them.