Google webmaster guidelines > Quality guidelines - Basic Principles > Principle three of four in this category states...
"Don't participate in link schemes designed to increase your site's ranking or PageRank. In particular, avoid links to web spammers or "bad neighborhoods" on the web, as your own ranking may be affected adversely by those links. "
Definitions-
link schemes - Interlinking of websites in an attempt to change ranking or pagerank.
pagerank - A ranking system created by Google that gives a website where each website has a "score" of 1 to 10.
bad neighborhoods - A group of inter-linked websites that are, in general, not following the Google webmaster guidelines.
Don't want to read? Here are the main points via video...
Or just continue reading the description of this guideline below.
Avoiding Link Schemes
What is a link scheme? What is a bad neighborhood? How do these things hurt our rankings? These issues are explained in plain language.
Examples and Explanations
Avoiding links schemes, and ways to determine if a link is scheme-ish.
For many years it was pretty much considered a good idea to participate in reciprocal linking. Many sites saw improvements in their rankings after including themselves in a reciprocal linking campaign. Those days are over.
For us to consider what a link scheme is it would be a good idea to consider what is not a link scheme....
The original purpose of a link was to recommend a website that you feel would be useful to your websites visitors.
To determine if you are participating in a link scheme is very simple.
If you are making a link for any reason other than to recommend a website that is useful to your visitors, you are in some sort of link scheme.
Why a link scheme is a link scheme.
This guideline tells us "Don't participate in link schemes
designed to increase your site's ranking or
PageRank"
Good - Create a link to a website you recommend for you visitors
Bad - Create a link designed to increase your site's ranking or PageRank.
When you are link building and someone tells you that you must link to them in order for them to link to you, this is a link scheme. If you are making a link to someone else solely because they will link to you this is also a link scheme.
In the above situations you are not creating a link because you are recommending a site, you are creating a link because you are hoping to increase your sites ranking or PageRank. This is bad and very simple for Google to detect.
This guidelines continues and tells us "In particular, avoid links
to web spammers or "bad neighborhoods" on
the web, as your own ranking may be affected adversely by those links".
If you are linking to a site that is deemed to be spammy or a link scheme your own ranking will eventually go down, not up.
What is a "bad neighborhood"?
A bad neighborhood is a group of inter-linked websites that are, in general not following the Google webmaster guidelines. To see "neighborhoods" and to understand what they are, there is a really neat tool to use called Touchgraph it shows a visual inter relationship between sites....

This online tool maps out interactively all the sites that are related to a website using Google data. This tool can really show you a neighborhood. When you put your website name into this, it will visually display the sites that are related to yours. If you are a website about cats, but all your related sites are about online poker, then you know you have a problem. Your cat website should be interconnected with "cat" neighborhoods, not "real estate", "viagra", or other such unrelated things.
See the Touchgraph for your site
Although this tool gives a great picture visually of "neighborhoods" it is important to note that it is based on Google's ability to deem what sites are "related" to each other.
To see this through Google simply put the following in the search box of Google...
related:www.yourwebsite.com
This will result in a list of websites that Google feels is related to your website (or, if your website is just a few months old, there will be no related results). Some of the "related" websites will seem obvious. For example, often you will find sites that you directly link to or sites that directly link to you in these results.
Many people find themselves perplexed when they see that Google somehow knows that your website is related to another even though there are no links between your site and another. How does that happen?
The reason it happens is actually one of the key reasons that links schemes can be very destructive to your websites ranking in Google.
Google has found many ways to determine what a website is about, the most well known reason is links. What does a site link to and what sites link to it.
Now let us take it one step further...
A web site links to you. That website linking to you is also linking to other websites.

So if we want to take a bit further...

Google knows your site is about cats.
Here is what happens with link schemes....

When someone searches for "cats", the website that Google thinks is just about cats will rank higher than another website that it thinks is about both poker and cats.
If you are linking to websites as a "condition" of receiving a link, then you are negatively associating your website with a bad neighborhood and many other websites that have nothing to do with yours.
Key concepts
A link scheme can be identified by why you are linking to a website; If you are making a link for any reason other than to recommend a website that is useful to your visitors then you are associating yourself with a link scheme.
It is particularly important to not link to websites that use spam, or are in a "bad neighborhood" as this will adversely affect your website's ranking in Google.
Every link you create on your site identifies who you are and what your site is about.
Google has created a link scheme description page in their help documentation