And if you're talking about local search results, it's possible some of those results you're seeing aren't due to SEO. Some of those businesses might rank higher because they're closer to "town center" than you are.
Plus, keep in mind any rankings you see are just that -- the rankings YOU see. Which might or (more likely) might not be the same as what somebody else sees. It's entirely possible those other businesses appear to rank highly for you because, in the course of checking up on the competition, you click on their sites more often than your own when you run a search.
Keep in mind, rankings may be visible, but they only tell part of the story. You don't know how much traffic they are (or are not) getting from those rankings, and you don't know how many of their site visitors they're able to convert into actual customers (which is, after all, the real name of the game). Rankings are visible and cool, but they don't pay the bills.
If your site is better (organized, attractive, informative) than your competition you're more likely to get a higher conversion rate than they are. What that means: they have to work a lot harder than you do to make a sale from their website. In fact, if their sites are really crappy, they may actually be losing potential customers as a result.
There are two ways to increase website revenue. One is to improve the conversion rate (i.e. get more results from the traffic you already have). The other is to increase traffic. Improving your conversion rate gives you a much bigger bang for the buck, and it involves stuff that's all under your control: your site navigation, appearance and content. (And it has the side effect of making your site more attractive to the search engines, so it could also lead to more traffic eventually.) So, guess which one I'd focus on?