I can illustrate with a very specific example that will hopefully clear it up a little bit. I am a bankruptcy lawyer with offices in Seattle and Kent. Seattle was my major target because it is a major city and the largest in my target region. However, there are dozens of towns around Seattle. I wanted to get as much reach as possible.
When I did my keyword research, I found that searching for "SeaTac Bankruptcy Lawyer" mostly brought up results in Kent. The reason was that there are no bankruptcy lawyers in SeaTac with a web presence. The bankruptcy lawyers were concentrated in Kent. Since this was the case, a good ranking for Kent spilled over to a good ranking for SeaTac. This meant that instead of trying to focus on both Kent and SeaTac, I was better off focusing just on Kent. The result is that by ranking well for Kent, I get a geographic spillover to smaller towns around Kent like SeaTac and Auburn.
When you are doing local optimization, try to think of the metro area as a flow chart with the biggest city at the top (level 1) and the smaller ones coming below (levels 2 - whatever). You will find that the further you go down the flow chart, the fewer strong competitors there are. This means that ranking will for a city at level 3 of the flow chart gives you spill over to a city at level 4 or level 5 provided that there isn't strong competition at level 4 or 5.
So focus on unique landing pages for the cities at the lowest level where there is active competition. This will give you spillover to all the levels below that level. Then, once you have established those landing pages, work on landing pages at another level down. They key is that the landing pages need to be unique to avoid the duplicate content penalty.