This is a really nice article that was posted by Barry Schwartz on the SeoRoundTable.com:
One of the most common questions I get is, should I build a web site for each location I have a presence in?
If I run a barber chain and I want to rank for barber in each city, should I just make a web site barber-cityname.com so I can rank well for each city? The answer is maybe, but Google would never tell you to go with that approach.
Google: Wouldn’t it be annoying if USPS did multiple websites. Google’s John Mueller gave one of the best reasons why you shouldn’t go with multiple domain names for each location. He said:
Focusing on a single website makes it much easier for our algorithms to understand your site, the services you’re providing, and the regions that you service. Splitting that into separate sites for each location that you ship to not only makes it harder for our algorithms, but also for users (imagine if the post office did that).
Yea, can you imagine if the post office did do that? It would be hard to find what you need and make it confusing for the user.
Google strongly recommends you stick with a single site with pages for each location, and a location finder tool.