Matt Cutts is asked Why do paid links violate Google’s guidelines?
Matt explains the difference between a link used to manipulate a search engine result and a pure advert.
Advertising can educate people or tell people about an offer but a paid link is only used to manipulate search engines. This means the end result is that the user search experience is effected in a negative way.
Facebook, Adsense, etc adverts are not used to manipulate search engines.
The intent of selling links to pass page rank is against Google Guidelines.