There has been so much talk about linking and how it works with the search engines. I want to first say that my take on this is the more links you get from other websites the better.
A search engine is a beast to be reckoned with, think of the millions and millions of pages it has to search before it tries to get some relevant results when you search for something. In my early years of online marketing I was a web developer and during a couple of weeks one of my colleagues and I decided that search engines werent that complicated and began to write our own. 3 weeks of coding in java and a lot of late nights resulted in a small spider that crawled websites and picked up the links that were on the page. It was easy to find the links and because they were easy to find it was easy to find out which other websites to search.
Now my crawler was very very simple as compared to Google although it illustrated how you should use links. Linking to relevant and high page rank websites is the key. This way when the crawler goes to your website and tries to figure out what the page is all about it will look for other websites that link to it and from it for some answers. If you had a dog food website and lots of other websites are linking to your site with the following link Dog Food, The website will gain relevance to the search engine for that keyword.
The main reason I link back to someone elses website is so other people will link to my websites.