So an effective affiliate marketing program requires some forethought. The terms and conditions have to be tight, especially if the contract agreement is to pay for traffic rather than sales. The potential for fraud in affiliate marketing is a possibility. Unscrupulous affiliates can squat on domain names with misspellings and get a commission for the redirect; they can populate online registration forms with fake or stolen information; they can purchase adwords on search terms the company already ranks high on, and so on. Even if the terms and conditions are clear, an affiliate marketing program requires that someone be monitoring affiliates and enforcing the rules. In exchange for that effort, however, a company can access motivated, creative people to help sell their product or services to the world.
I personally prefer to do it that way--you can create a more convincing review that's more likely to make sales. It's not always possible or practical, though; for example, would you break up with your significant other just to test a product for getting your ex back? ;-) In cases like that, or if the product is expensive, it's usually best just to use the vendor's affiliate resources instead.
Always disclose your affiliate relationship. Most visitors will probably understand that graphic ads will lead to your getting paid, but if you write a review or use an in-text link as a recommendation, you want your readers to know that may lead to compensation as well. This ensures you retain transparency and trust with your readers, but also, it's required by the FTC's endorsement rules.