The US are far behind with mobile networks as compared to Europe and many Asian countries. Suffice to say, T-Mobile does not even work in many (most) HLS buildings because of the poor signal. Still, they offer good unlimited data/voice plans (e.g. for smartphones), so they may be worth some consideration when compared to AT&T, also unlike Verizon their phones will often work abroad (Verizon has great coverage in the US though). If you don’t buy an unlimited plan, unlike in Europe/Asia you will be charged also for INCOMING calls. Also, some networks make efforts to limit your phone’s data router abilities (when you share your data plan through wifi, so-called “tethering”). If you have an Android phone, you can sign-up for a pretty neat plan from Google itself (20$ for unlimited calls and 10$ extra for each 1GB of data, whatever you don’t use rolls over to next month, tethering is allowed).
Note the US has two types of devices/networks: GSM (used in most of the world, include the EU, and US carriers such as AT&T and T-Mobile) and CDMA (mostly in US, used by carriers Verizon and Sprint). If your phone is GSM, you may consider that when choosing mobile network.
A good deal is currently (2015 and 2016) offered by T-Mobile, with “unlimited” data (5GB) and 100min in calls (but you can always skype) for 30$/month (which can be halted at any time). It was very successful and now it’s somehow hidden but still available. There are specific instructions to be able to get it very quickly with a prepaid starter kit.
As of now, you can only get a Google Voice number if you’re in the US. This is a great feature: you basically obtain a phone number you give everywhere as your mobile number, and it redirects to your actual phone. It also includes a voice mail much better than the one offered by most carriers. But the best part is that you will still keep your number even once you leave the US (even though your calls will be redirected to voice mail, you’ll still get notifications and transcriptions by email). Go and get it, there is mostly no reason not to (if you are reluctant to give your phone number to Google, you may use a different gmail account).