Your site structure, on page SEO, relevance - and links - all matter.
If your keywords are hard, then you will need to pay a lot more attention to on page seo and site structure ... building too many links too fast may not always be a good idea.
I wouldn't try to use brute force to climb the rankings.
Also, these days Google seems to be taking a while to rank pages on newer sites. How old is your site?
I would suggest analyse the top 10 closely and see what the differences are between those pages and yours.