Originally introduced by Google and Blogger to reduce the amount of spam content added to weblogs, the ‘nofollow’ attribute is used on link statements in HTML (e.g. <a href=”www.mysite.com” rel=”nofollow”>Link to my site</a>) to tell search engines NOT to follow those links, and therefore not give link value to the target web page. Although the link will still work when clicked by normal web visitors, search engine spiders should not follow them (although some search engines follow the link to spider and index the target site without actually giving link value to the site).
Some search engines also use nofollow as a way of recognising paid links (which they dislike). If you have any links on your site which are paid for by the target website, you might want to think about adding a rel=nofollow to the html links. Without nofollow on your links, there is a chance that search engines may penalise you by reducing your page rank value, thereby relegating you in the Search Engine results. You will still give the target site some traffic, but it will not benefit in terms of link value (link juice).
The ‘nofollow’ cause is a just one – search engine companies believe in the natural selection and promotion of websites in SERPs based on content and relative popularity within the internet community. If you have a website that lots of other popular websites link to, then that is a sign that yours is a valuable resource. The nofollow attribute helps prevent paid advertisers from distorting those results.
Update 2022: Search engines don’t penalise outbound links. In fact, outbound links, as long as they point to content that helps visitors and reinforces something you are telling them, can be a good thing. There is a (relatively) new attribute for your links (rel=”sponsored”) to indicate links that have been purchased.