Reciprocal links are one of the most common and most effective forms of website promotion. The basic concept is simple - you link my site, I'll link yours and we'll both get an increase in traffic. But there is more to it than just exchanging links with a random site.
The very first problem is to find the right site to do an reciprocal link exchange with. A good partner has content that appeals to the same kind of visitors as your site does, and vice versa of course. For example, a Futurama fansite could have reciprocal links with a Simpsons fan site, a free stuff site with a sweepstakes site and so on. To create successful reciprocal links, the exchanging sites need to be similar yet different enough so that they don't compete with each other.
After you've found a site that fits the above description, there are a few other important things that need to be figured out. First, is the other site interesting? If it's filled with banner ads and typos, you're better off finding another site to exchange reciprocal links with. A good rule of thumb is "if it doesn't interest me, it's not going to interest my visitors".
The second thing is to figure out how much traffic the site gets. Usually you can make a rough estimate just by browsing the site - if it looks and feels professional, it probably gets a pretty good amount of visitors. If it feels like it was a poor quality website to begin with, and no one has updated it since 1997, it probably doesn't get more visitors a day than you have fingers in your hands.
For an exchange to be useful to both parties involved, sites performing an exchange should have similar amounts of traffic. That way, one site doesn't just rip visitors off the other one, without giving any in return back. Because most webmasters know this rule (some even monitor the amount of traffic they receive/send out). It's unlikely that a low-traffic site can get a link exchange with a high-traffic site. If your site has value, your proposal for a link exchange could be accepted, even if you get less visitors than the site you're trying to exchange with.
After you've found a site that seems to be suitable, it's time to contact the webmaster of that site. Tell him that you run a site that has a similar topic and describe your site a bit (remember to give your front page's address). Say you included a link to their website (give him the address of the page where the link is), then ask if they could return the favor by linking to your site. If you never get a reply or your proposal gets rejected, don't give up, find another website.
If you manage to make a deal and get the other webmaster to link to your site, keep your end of the bargain. Don't remove your link without contacting the webmaster of the other site first. You should know some webmasters agree to exchange links, but only really link back to you for a few days/weeks and then remove the link without notifying you. It's a good idea to check the site of your partner every now and then to see if he's keeping his part of the deal. If he is not, contact the webmaster and kindly ask him to explain why your link has disappeared. If you don't get a satisfactory explanation, remove his link from your website.