Google doesn't use <META KEYWORDS at all, and <META DESCRIPTION seems more for snippets than getting up the SERPS.
You should being by ensuring your keyword is in the <TITLE and <H1, and then in the anchor text of as many links (including from your own site) as you can.
If you make that change you'll start to see differences and once you rise in the SERPS it becomes easier to compare your sites with others and work out what other tweaks might be worth incorporating.
It's best to start with the easy and non-time-consuming ones!
As for people not typing in your expected choice of keyword, have a look in your server logs (if you have access to them) and find out what people ARE typing - you may find you can optimise the page to catch several search queries instead of the one you expected.
I find visitors coming to one of my sites, for example, because I have a page with the name of the local hospital in it. We rank higher than the local hospital's site, so as soon as I detected that, I have them a link from my page to theirs, in case someone was bleeding to death while typing... (Sorry, bad taste comment!).
But the search logs can help a lot!