I use an OpenVPN from strongvpn.com. You can do PPTP if you don't need ultimate security and you don't go through a corporate WiFi. Open VPN is a little more expensive, but it's more reliable and secure.
I use Viscosity as my VPN software. Once I connect to WiFi, I just click the padlock icon and choose connect. All traffic is then encrypted and routed through the VPN.
Strongvpn.com doesn't charge for data bandwidth. (I'm not affiliated with them.)
You are protecting yourself from identity theft. On a public network... any other computer is capable of running the FireSheep firefox plug-in and assume your identity on any site you are logged into that does not use htpps connections. Most other sites use a cookie that validates your login session... and that cookie is sent in the clear. Then anyone running FS can click on your name... and the program that you are running and they assume your identity in whatever site you are surfing. So for example... they can change your email settings to automatically forward all your new incoming email to themselves... or other types of cyber theft.
Many sites are now switching to htpps for all pages (due to FS)... so I guess the FS "public service" distribution is performing its intended purpose. Still... this change is slow in coming.
I personally will not attach to any public hotspot unless I use a VPN. I personally subscribe to Witopia.com... as they got great reviews (especially for the price) when I was alerted to the threats of FS.
I have not recently found many public hot spots that block VPN, but they do exist. I mostly connect through business hotels that cater to corporate travelers... so cutting off VPN access would kill their business.
If I was presented with a public network that blocked VPN, then I would use my iPhone as a hotspot. I would not do anything on a public wifi network without engaging my VPN first.
BTW: Just because a network may have a WPA2 code to access the network... that does not protect you. Anyone with the code on the network can sidekick your computer.