The different networks have different performance characteristics in different areas. Talk to your local friends—who live within a few miles of you—and find out what they like about the networks they’re on. If AT&T sucks in Chicago, and is wonderful in Philadelphia, and you’re in Philadelphia, you don’t want to take advice from people in Chicago. (I have no idea how good the networks are in those cities – I just used them as an example.) Also remember that people who are annoyed complain, while people who are satisfied rarely post with the same degree of vehemence and conviction.
Then plan a shopping day and spend half an hour or so playing with each of the phones.
I myself have an iPhone. I’m neutral on AT&T; I’ve had phones from T-Mobile before (decent service in coverage areas, horrible coverage, and useless customer service), Sprint (wildly variable service, better coverage, and customer service that made T-Mobile look classy), and AT&T (consistent coverage, best coverage area, and no problems that I’ve had to contact customer service for).