Go for long tail keywords. These are normally the most profitable. They have less competition and bring in more targeted traffic. Link your pages and blog posts internally to bring out a hierarchial site structure. This makes it easier for search engines to discover and rank many of your pages. Ensure your on-page SEO is properly done. Use your keywords appropriately in your urls, page titles, images, content body, headings, etc. Link building is crucial. Some smart strategies include guest posting, link baiting, directory submissions, etc. Use social media to boost your SEO efforts.
Indeed, that's a good start. Though link building takes much more effort these days to come up with non-spamming and juicy links. We should also focus more on Press Releases and not everyone uses its power and it does help. In fact, every little effort adds up and makes a big difference. Obviously, if you can afford to spend money and buy PR8 links - then it's a different story altogether.
Most of the long tail keywords can rank high without link building as well, so this is really a good way of doing SEO and earning money, you can build a few links to give desired ranking.