Google has an advanced search feature. This feature tells us what Google thinks the searcher wants. Some of the search criteria includes: Date, usage rights, and where the keyword shows up on the page. Let's look at the where the keywords shows up feature.
The four options are: In the title of the page; in text of the page; in url of the page; and in links to the page. So at bare minimum you'd want your keyword as the title, in the url(you can do it as a sub-url, if your blog is www dot make money dot com and the query is make money online with affiliate programs and the sub part is online affiliate programs you have all the keywords in the url), text of the page is easy, and finally in links to the page.
So if you want to be a true SEO master you want to optimize each of those four factors. How would Google distinguish which is the better fit for a searchers query?
For title, google doesn't seem to favor exact matches and it doesn't seem to really look for sub pages. For google, it seems to be either is the keyword in the title of the page or not? This seems to be a point for keyword sniping.
The results for searching for within title and text seem to be remarkably similar. Again is the keyword in the text or not?
URL is the same deal. Although, searching for within the url seems to bring up more sites with the keyword in subpages of the url. This is a point against sniping as if you can just include your keyword anywhere in a long url you can just alter your title to include all the main keywords.
In searching for links to the page, the results seem pretty similar as well but you get results that are google bombed with the keyword nowhere in the title or url but are pretty synonymous(grow taller vs. height increase).
Now, there's a rumor that linking to other sites using keywords as anchor helps ranking. I think this is true. Let's say your keyword is make money online. If you link to a site that's www dot make money online dot com, with make money online as the anchor plus has make money online as the title and within the text; don't you think Google is going to look at that as good for your pages relevancy?
Looking at all the four factors I got starred results for my main website except for all in title. Rest assured I'm changing the title of my page :)