And, unless you can get a great city name for cheap (you can't), it also pays to know your local market. there may be some undiscovered gems there. For instance, if your city or local area offers biking trails, you might want to pick up that geo+keyword (like the word bikes). Look at your own market and see what is big and popular and trendy. Trendy may have a short shelf life. But when it comes to certain niche businesses (like "locksmith") or activities (like "offroad" or "rock climbing" or "hiking") and you can create some mini-sites and link them all together, you may end up getting some inquiries into the domains from other businesses established in the area. I did sell one local Locksmith name for high XXX that I had only for about 2 months and never got around to setting up a site.
So, unless you have deep pockets you need to get creative. I tend to look at the local and regional level (an area that you are familiar with) and look at the voids and try to fill them.