There are many possible reasons your keywords are not ranking.
Here are two things you can do that have the greatest impact.
If there is a lot of existing, quality competition for a keyword it may not be worth your effort to compete. Try choosing something a little different, with less competition, but reaches your target audience. It is difficult to walk away from popular keywords, but if don't have a chance to rank, you are wasting your time. Keep your goal in mind, not your ego.
The other, more important aspect of getting ranked is the quality and consistency of your content. Having a keyword rich content page is not enough, make sure keywords are relevant to the topics on your site, and that content is unique and valuable (not copied from other sources).
How that helps,
Lisa Woods