It would be more effective to have multiple sites because the url's can can be created to contain the keywords you want to target. That would boost rankings, but it is also more expensive and tedious to maintain. It would cost more money to market several sites instead of one.
You could create page names within one site that contain these keywords too, but you would have to market each page just like you would each site.
I personally utilize one template, copy it, replace some wording, create a sub-domain url to point to it, and market that. I find my rankings are pretty high when I do that instead of packing it all into one site, creating pages with file names that contain the keywords, or folder names with the keywords.
Either way, the SEO portion has to be done for the pages individually to make them rank. I just have higher rankings with the sub-domains over file and folder names right out of the gate. An actual url you purchase would be more effective than a sub-domain though. I choose to stick with the free way; sub-domain of 1 url I own.
Here is an example:
Pickerington Ohio is a pretty hot market with higher priced homes. Here is a keyword I focused on typed into google.
Pickerington Ohio Mortgage Loan First, you have your sponsored links, and then your directory listings. I rank 5th today. All I did was create a 1 page sub-domain with the keywords in the url. I did no other marketing at all! No financial investment... Nothing extra aside from the 1 domain name I own and my hosting.