There are literally tons of factors that are involved when Google ranks a site so this can be anything other than just links and quality of content. There are other factors like on-page optimization, site architecture, how you have been discussed on other websites, social media and much more…
I give a quick look to your website and here are the following things I witnessed in a one go!
I believe there are two different websites were you are using the similar content, I just checked one page and Google says the content that is available on the website is more or less similar to the content available on this URL: http://www.hvhtek.com/associates/surfopt/surfopt.html
I believe this page also represents your company but technically they are two different domains containing duplicate content.
The idea is to have a unique and quality content on the website and this can help you improve your organic visibility.
In my honest opinion, links are playing their part too!
Open Site explorer said you are getting 182 links from the 10 root domains, probably you should increase the links from the root domains and if you are using tactics like blog commenting or forum posting to get links then consider avoiding it as this will hurt your rankings instead of building it.
Many of the links are no follow (probably coming from blog comments). It is important to have links from diversified areas and not all should be no followed or do followed.
Keeping the link profile as natural as possible is a way to go and outrank your competitors from the desired key phrases.
These are the quick analysis, I believe digging the website in detail might help you caught more areas where your attention is needed. There can be multiple factors that are playing their part and as a whole you are not been able to rank above your competitors and win organic traffic!
Hope this helps!