For each service, they have different features.<p>From my experiences with different API, Google's geocoding api covers most countries. I suspect for all countries that Google provides street view services, the geocoding service will work pretty well.<p>SimpleGeo is pretty good, its coverage is less than Google.<p>Bing supports a lot of countries. But for a lot of countries, it support to major roads. You can see it here <a href="http://msdn.microsoft.com/en-us/library/dd435699.aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/dd435699.aspx</a><p>Foursquare has around 23 millions venues and growing. I guess in next 2 years, we can see Foursquare's venues covers most mobile GPS coverage area on Earth and if their human administrators can maintain the quality.<p>Google is pretty good and fuzzy matching address. I tried SimpleGeo 6 months ago and it is kind of strict and pretty intolerant to address misspelling. Foursquare can match venue name to possible entries in the neighborhood in venue/search but I am not sure for address matching.<p>Yahoo! PlaceFinder seems lack of maintenance in data. Even they were the first one to provide geocoding api.
For buddycloud's social location server (<a href="https://github.com/buddycloud/location-butler" rel="nofollow">https://github.com/buddycloud/location-butler</a>) we started out with Google but the rate limits and day limites were too low and they forbid caching. Now buddycloud uses Cloudmade which works well but has dirtier data (city details do not always match up into the correct fields).
Google Geocoding works great for what I've needed it for but can get pricey if you're getting above 2,500 requests per day.<p>I believe the Premier service is around $10,000/year :)
I use Google geocoding for redditgifts because we cover so many countries. I would love to integrate with simplegeo more but they are only US right now for this.