The USC GIS Research Laboratory offers a number of online geographic applications and Web APIs. You have to register for the services, and you’ll get 5000 use credits. After those are used up, the services are free for non-profit and non-commercial enterprises, as long as you cite/reference their use somewhere. For commercial use, if you post an attribution to the service on your website, and also allow them to use your name/logo on their website, you can also use it for free; if not, you can also buy processing credits from them. See this page on usage costs for more info.
A quick comparison test of my home address geocoded with both the USC service and Google shows that the USC service is a lot more accurate in geocoding my address, less than 10 meters away for USC versus over 200 meters for Google (USC at lower left):
Postal Address Validation
Parse, normalize, standardize and validate postal address data. Apparently only single addresses for now, no batch capabilities that I could find.
Geocoding Correction Service
Upload corrected geocoded data to improve the database.
Draw polygons in a Google Maps interface. Not sure how useful this one is, as the Google Maps map creation interface seems to be easier to use.
Shortest Path (Coming Soon)
The shortest path services allows a user to calculate the shorteset network path between two points using either shortest time or shortest distance as the metric.
In addition to a pair of points, you’ll also be able to upload a set of locations and solve for the shortest path, aka the Traveling Salesman problem.