And there are on-page factors- like keywords, markup, etc. Both are important, and if you wish to do rank highly on the search engines you need to focus on building links, and improving on page factors. If you're looking for an extra boost, you may like to consider search clouds- An on-page factor that is often overlooked by many people.
A search cloud appears on your website (often on the side), and is a large list of words. Each word is a link, and they are all different sizes. Each word is something that someone searched for when they came to your website. If a lot of people search for a certain word, then that word will appear bigger in the cloud.
One of the best benefits of a search cloud is that it gives you more internal links to the pages that are important on your site. And it uses the "right" anchor text, because it uses the anchor text that people are already searching for. This will help with search engine rankings, because it adds more links to your pages, with the correct anchor text. These links may not be as useful as links from other domains- but they still help!
This can be shown with an example... Suppose you have a widget website, and you rank on the first page for "green widget". When people search for "green widget", and click the link to your site, the search cloud will add "green widget" to the cloud, and link to the "green widget" page on your website. You now have more links to the green widget page, which will help you to rank higher for "green widget".
That's not the only reason to have a search cloud though! Another great benefit is that they encourage people to explore your site. When people see a search cloud, they can't help but glance through the list. Because of the wide variety of search terms, it is quite likely they will find something that interests them, and click the link. This means you will have lower bounce rates, as well as higher average page views per visitor. This will correspond to more page views- which will lead to more people buying your products, or making more money from your advertising.
You can usually add a search cloud quite easily to your website. Google "Install Search Cloud" and find a corresponding listing. Many individuals have already done so and have shared their technique.