There is a persistent belief out there by many that affiliate marketing is bad. The truth is that it's all in the packaging, and whether or not your site adds any value.
During the early days of SEO, when it was easy to rank highly in search engines, about all you needed to know was how to spell SEO, it was almost trivial to make hordes of money with affiliate sites. The problem was that hordes of sites that were extremely thin on content came out.
As the search engines matured in their understanding of ranking issues, they recognized that these sites did not add any unique new value to the user. They began to try and detect these types of sites, and the sites became known as "thin affiliates" or "affiliate spam sites".
A classic thin affiliate site would be a directory of products from one affiliate partner, organized into a tree, with no other products on the site, and all the product descriptions are supplied by the affiliate partner. There is no added value here, because the affiliate partner's product appear all over the web, on sites using that same description.
Unchecked, this leads to a search engine index that may have most of its first ten results for related search queries coming from pages with the same content. Search engines don't like this. One big reason is that they work hard to provide variety to their users, because if the first 10 results are all essentially the same, and it's not the answer the user is looking for, the user will most likely leave without being satisfied. Not good.
Looking deeper into this, one of the big issues is the natural ambiguity in user search queries. It's a fact: Users do not accurately specify what they want. This goes beyond the obvious queries, such as "Jaguar", which can mean an animal, a car, a guitar, or even potentially a football team.
Even with a fairly straightforward query such as "diabetes", it is not clear what the user wants. Do they want diet information? Do they want to find a doctor? Do they want to read about novel new treatments? Are they a doctor looking for the latest research? These types of query problems are the rule, and not the exception.
The way the search engine deals with this is by providing variety in results. Thin affiliate sites do not provide variety.
It would be wrong, however, to say that affiliate marketing is bad. The problem with thin affiliates is in the sameness of the content. If you have a site loaded with content that you have uniquely developed, there is nothing wrong with monetizing that through affiliate programs. The key question is whether or not your site provides variety.
This very same issue is at the heart of successful link building as well. People don't link to your for the purpose of helping you make money. The sites you really want links from are the ones who link to great content, because they want users to find that content in the event that what the user wants is not on their site.
So even if you write a bunch of original articles, but they are more or less on the same topics with the same message that 100 other people have written about, you are not adding enough value to the conversation to get authoritative sites to link to your site. You really need to be adding something to the conversation.
From a strategic perspective, the search engines don't want this remixed content either. This may be a bit harder for them to detect directly, but if they see you have written a bunch of "original" articles, they may not be able to detect that you have said nothing new, but they will be able to see that you are not getting the high quality links that would be an indicator of high content quality.
Ultimately, it's about the content. If you are really adding value to the conversation, no one is going to worry about how you are monetizing it (of course, this assumes you are not flooding all your pages with ads and creating a bad user experience).