This is a problem that I often see small businesses struggle with. They want first page Google rank for broad keywords such as "carpet cleaning". The question is, does this make sense? In this case no - its likely the small business sells carpet cleaning services in specific area -- not carpet cleaning worldwice -- unless they are Stanley Steamer. It would then really make sense for this smal business to focus on local SEO - showing up for local keywords. So the question is then, should all small businesses focus on local SEO?
Yes and no... It really depends where you sell. If you sell or provide services in a local area, then webtraffic from outside that area is fairly useless. If you sell online, then broader reach is better. Its really about your geographic niche.
What do you think?
Here's an article talking more about the subject : SEO Decisions - Local vs. Global SEO