The short answer to that question is that they are either not working hard enough to get the sale, or they are not following the proper steps to present and promote the sale.
Sales is a numbers game. If you know that for every 100 people you approach, you will get 1 sale, then you need to approach several hundred people to get several sales. So the first question you need to ask yourself if you are not getting the amount of sales you want is am I getting enough traffic to my page?
If you are getting enough traffic to your page, then you may not be getting the right traffic. Then you need to look at how people are finding you to land on your page, and adjust your keywords until you get the right people.
If you are not getting enough traffic, then you need to get more traffic. That can only come from more promotion, and more backlinks driving your page higher on the organic search engine list.
The other solution is to make more pages that link to the vendor that you are trying to sell, and get more traffic to all of those pages.
Now, I just made up the number of 100. Real statistics are much more difficult. It might mean getting 1000 people to get 1 sale, or for your niche, maybe you only need 10 people but it is harder to get traffic. The more competitive a niche you are in, the more people need to get to your pages. The best way to do that is to provide them with more opportunities to buy.
The average person needs to hear something 20 times before they act on it. Are you giving each person that gets driven to your page 20 chances to click on something that will earn you money?
The bottom line is that you will get more sales if you match your keywords to the keywords people type in when searching for your topic, and you get enough traffic.