I am with Verizon here in the Flint, Michigan area. A couple of years ago I was going to switch to T-Mobile. Unfortunately, I couldn't use their service if I wanted to. It was so bad, that I couldn't even complete the call to activate my phone number after 2 tries. And if Flint, Michigan isn't urban I don't know what is. I had AT&T before that. I switched not because of service, or coverage but because I don't like the company. Any company who shuts your phone service off a week after your bill is past due and then wants to charge you to reactivate is not going to have my business. Its the same reason I dropped their phone service and switched to Comcast. They did the exact same thing at my business more than once for a lousy $150 bill that was less than 10 days past due. The amount of business they probably cost me during that period far outweighed that lousy bill.
Around the time I changed to t-mobile, I came across a website which indicated the number of towers that were in my area. Verizon had the most towers, and T-Mobile had the least. Verizon had over double the towers T-Mobile had. And my experience backed that up. Needless to say, I will continue to pay the most expensive carrier in the market, because I get the best service. I was switching to T-Mobile because they were the cheapest. I found that Sprint, AT&T, and Verizon were all exactly the same price for my circumstance - only T-Mobile was going to be $30 cheaper per month.
I've heard AT&T has the best 4G speed and I'm not sure how the data coverage compares. I can tell you that I have had very good speeds with Verizon. However, I just ran multiple tests from different apps and hit a horribly inconsistent speed between .5Mbps and 3Mbps, with one test topping out at 27Mbps. So, take it for what you will. Location definitely matters. But, I think in most areas Verizon is going to have your most reliable coverage.