There are different ways to approach SEO. You can be "white hat" and adhere to all of the search engine Webmaster Guidelines. You can be "black hat" and ignore the search engine Webmaster Guidelines in hopes that you can beat the system and get your site ranking quickly. Or you can be "gray hat" which falls somewhere in the middle. Obviously, any reputable SEO firm would only recommend white hat tactics, and stay away from any tactic that is frowned upon by the search engines. One of these "bad" SEO tactics is paying for links.
Links are an essential part of an SEO program. The inbound links that point to a website are what help to convey that the website is trusted. Of course, not all links are created equal. The search engines look for a well rounded link portfolio that includes links coming from relevant, quality sites in related industries. As website owners caught on to the value of inbound links, it became common to pay for a link on a site that would boost your SEO. Of course, this isn't what the search engines had in mind. The search engines want to rank sites that have inbound links that are natural, not paid for. As the search engines cracked down on this practice webmasters came to believe that "paid links are bad." The truth is, they aren't ALL bad. You just need to know where to draw the line.
Here are 3 cases in which paid links are OK:
Industry directories: Many SEOs will tell you not to bother with directory listings anymore for SEO purposes. Although what they really mean are spammy, low quality directories. There are thousands of directories on the web, and the majority of them are general directories that don't generate any actual traffic. However, depending on your niche there may be industry related directories or sites that allow a profile listing. These sites have a far better chance of attracting the attention of target audience members. In addition to getting a link to boost an SEO link portfolio, these kinds of links can also generate traffic which was the original intent of links.
Advertising opportunities: Paying for an advertisement on an industry website can be beneficial in that it can help to gain brand exposure among target audience members and generate traffic to a website. The search engines don't consider advertisements to be "bad" for SEO. If anything, it shows that you are marketing your business and website in different ways.
Sponsorship links: Technically, getting a link on a website of an organization or event that your business has sponsored is considered to be a paid link. You spend some money and in return get exposure, PR, links, etc. However, it's about much more than the link which is why the search engines don't discount this kind of link. If there is a cause that your business would like to be a part of and sponsor, it's OK to ask for a link to your website. In fact, these links can be highly favorable if the organization is well known and respected.