In principle having incoming links is a good thing, however, as is normal with these things, it is not quite that simple.
Links are good because search engines, like Google, count links into your site as a vote for your site and use this to help rank your site. They will count some links as more important than others such as those from very popular sites. The best links are those from sites that are not only popular but contextually relevant. For instance, a link to an insurance company’s site from a news item on the BBC site about insurance would be really beneficial.
On the flip side there are some links which are pretty useless, such as from link farms. These are just mass collections of categorised links (usually paid for) which most search engines just ignore as irrelevant. Links from other sites on the same web server are also downgraded. Reciprocal links (i.e. links going both ways) are also not really any good as they tend to cancel each other out.
There are also some links which will have a detrimental effect on your listings. If Google discovers that a link farm is trying to sell or pass this “PageRank” it will blacklist the site, with the possibility of your site being blacklisted with it. This is the most serious problem and far more dangerous – Google explicitly outlaws the practice! To quote them:
“Buying or selling links that pass PageRank is in violation of Google’s webmaster guidelines and can negatively impact a site’s ranking in search results.”
See their guidelines here: http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=66736
So to summarise:
If the link is from a relevant, popular, site and you are not being asked to pay for it then it can’t really hurt. Reciprocal links are a tad pointless and links out should only really be added if they add to your users experience, not just for the sake of it.
Hope this helps.