Available Solutions for the Address / ZipCode to (latitude, longitude) mapping are ...
Google API, http://code.google.com/apis/maps/documentation/geocoding/ )
The most popular due to Google’s name.
Extensive support available on the internet (less development time).
Alas! not available freely for commercial usage.
The free version has 2500 queries/day limitations. (http://code.google.com/apis/maps/documentation/geocoding/)
There is one clause in “Usage Terms” which says the result must be displayed in google maps, reference http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests terms and conditions are mentioned here. http://code.google.com/apis/maps/terms.html#section_10_12
Nominatium, (http://wiki.openstreetmap.org/wiki/Nominatim )
A less common organization which provides an open source, free ware solution for the address to (latitude, longitude) mapping.
Can be also used in commercial projects.
Their are no restrictions for number of queries per day and no hidden clauses in “usage terms”.
Since the organization itself is not much popular, less support is available.
Yahoo API, http://developer.yahoo.com/geo/placefinder/
Another popular API like google’s but some what more available.
supports upto 50000 requests per day.
Like google extensive support is available.
Yahoo encourages us to use the “powered by yahoo logo” but doesn’t force us for that. ( http://info.yahoo.com/legal/us/yahoo/api/api-2140.html )
Can be used for commercial purposes (I have read Yahoo Terms and doesn't find any clause which restricts us in doing that, reference http://info.yahoo.com/legal/us/yahoo/maps/mapsapi/mapsapi-2141.html ).
YQL (Yahoo Query language see:- http://developer.yahoo.com/yql/ )
A SQl based query language which queries yahoo web service. for example if we have a zip code
we can write a YQL as [ select centroid from geo.places where text="Enter some pin code here"].
Yahoo encourages us to use YQL in commercial applications. (http://developer.yahoo.com/yql/faq/ )
Most number of allowed queries as compared to all other options i.e. 20,000 calls/hour/IP and 100,000 calls/day/key. (see http://developer.yahoo.com/yql/faq/ ), Support available for YQL is quite good, see the links.