I often ask myself the same question. With free HotSpots readily available in so many locations, it makes tethering all but obsolete.
Not at all. While it's true that in heavily populated areas, there might plenty of hotspots out there, I've found that this isn't' the case in even some mid-tier cities and less-populated inland areas, where hotspots are harder to come by. And where they do exist isn't always convenient. Starbucks isn't always the best place to get work done.
Then there are situations where airports may or may not offer free WiFi. If they don't, they tend to offer wifi at a price that can equal or exceed the cost of a monthly wireless data plan. And if they do offer free wifi, it tends to be so overcrowded by other users that it's nearly unusable. The same can be true for busy coffee shops and other locations.
Quite a few hotels are also stingy. I've been to Hiltons, Westins and Marriotts that all charge upwards of $10-$15 per day for their hotel WiFi... and it tends to not be very good WiFi, chronically slow and overcrowded, making it not worth the expense. Ironically, it's the cheaper hotels that seem to offer free wifi, though even they are starting to get greedy.
I will gladly use free Wifi when it's available, but you'd be surprised sometimes at the locations where it doesn't exist. For those reasons, given the work I do and the need for internet access, tethering is a necessity for me.
Then again: I pay for tethering. I have the wireless hotspot plan on my account. Before that, I had a USB data card and a cradle point WiFi router, but the tethering option turned out to be cheaper.