This is a strategy called "Barnacle SEO." Essentially you optimize and build links to high end business profiles like yelp because they are more likely to rank due to their high domain authority.
Here's the most recent post I could find on it: http://searchengineland.com/barnacle-seo-making-big-comeback-local-187253
The competitor you're talking about has a higher domain authority which already gives him a decent head start, but it's good that you're still outranking his website. What I see that's definitely helping him is that he optimized his listings for the city you're trying to rank in. He has more reviews than you and he has tons more facebook likes. He also has his Yelp linked to from his facebook and he links back to his yelp profile from his website.
Also, to answer your last question, part of the reason these are ranking is definitely because their is fairly low competition in the space.