1) Different technologies need different phones. For example, an iPhone won't get HSPA+ on T-Mobile because T-Mobile uses AWS. Similarly, you can't use a GSM phone on a CDMA network, and vice versa
2) Except for T-Mobile, you pay the same both off and on contract. This is probably the biggest reason that it doesn't make sense. Even T-Mobile only gives you a discounted price after you've been on the contract. If you are lucky enough to be in such a state, and like T-Mobile's phones (or don't mind living with EDGE data), then it's great! Else, it doesn't make much financial sense.