is this one public wi-fi in perticular or any one you try?
are you seeing the broadcast of the wi-fi and connecting to it but unable to browse or are you seeing no broadcast?
is it a wi-fi that does not broadcast an SSID? (shows the name publicly)
is it a wi-fi that requires a seperate login once the connection is established by a network gateway and you are not brought to that page?
are you running any 3rd party utility, Anti-Virus, Network assistant or Firewall? If so remove/uninstall them.
this is an older doc but some of the concepts are still relitive
How to troubleshoot Wi-Fi connectivity in OS X Lion or earlier - Apple Support
you can try turning the wi-fi off and back on
you can also clear out un-used wi-fi broadcasts the wi-fi list to try and clean clutter
>System Preferences>Network /Wi-Fi / Advanced