There was a time that I cared about SEO. I guess it is the #1 fantasy of any web designer that their website is going to be so perfect that it is going to rank at the top of any search engines results page. Having spent many hours researchng this topic the bottom line is the mighty dollar (or pound if that is your currency). The basic fact is that some websites are more important than others.
I had many theories on what was important for high page ranking, such as writing "good" code that could be understood by the search engine robots. I thought, and was probably correct, that outbound links degraded your ranking as your rank was determined primarily by those sites linking to you. This would explain the rel="nofollow" attribute and the discouragement of link exchanges.
Writing code to be "search engine friendly"
There are countless companies, books and websites that will tell you how to do this.
Outbound Links to external websites
Transfers Page Rank away from your website. There was a time that I avoided these at all times. Although I was aware of the rel="nofollow" attribute I was initially fed-up with visitors finding my site, an interesting link never to be seen again.
My current philosophy is that I am now putting a lot more outbound links on my pages. This is to make the pages, if they are found, more useful to the visitor.