I've always been annoyed by just how expensive WiFi access is for such spotty coverage. I've had the T-Mobile plan ($30/mo) for a few years, which provides coverage at Starbucks (until they switched to AT&T), and many airports and hotels. Its been a better deal than not having it (they have coverage at the hotel I stay at most frequently, and the airports I transit through most frequently), but it always felt like too much money for too little service, given that there is not always a TMobile hotspot available. TMobile has roaming deals with many of the other big providers (Boingo, AT&T), but the only real benefit there is the convenience of the billing arrangement, as the roaming fees are not nominal. (Though I do like that TMobile also provides convenient pay-by-the-minute roaming access at many hotspots in Europe.)
Finally there seem to be some better alternatives. Boingo now seems to have an unlimited $10/month plan, so I switched to that. Boingo claims I also get free roaming on many TMobile, AT&T, and other hotspots -- I'll report on that once I get my first bill. I downgraded my TMobile account to the "Pay as you go" plan, which has no monthly fee, and is $3 for the first hour, which seems like a good option to have.
Starbucks also has a reasonably priced plan (Starbucks Gold Card) if you spend a lot of time in or near Starbucks (they are in the process of switching their hotspots from TMobile to AT&T.) For $25/yr, you get two hours per visit of WiFi time (not sure if this is enforced or not), plus 10% discount on most Starbucks purchases.