There’s a curly question. Does SEO actually create spam in the search results? Of course, it depends on what you call spam. For most people, spam is the receipt of unwanted material. When you enter a search term, the search engines are presenting you with what they feel is the closest match to your search term. You are not technically receiving anything that is unwanted.
However, let’s assume that unwanted entries in the search results are spam. The second question then is whether or not SEO is the cause of those unwanted entries. To an extent you may be right. Those sites are at the top of the search results because of the SEO strategies the web owners have put in place. That is not the end of the equation however.
If you enter a search term in a search engine and get unwanted results, try entering the same term wrapped in inverted commas ” “. Ninety nine times out of a hundred you will see a completely different set of results. This is because the search engine is now looking for an exact match to your query.
If you use the inverted commas you are often more likely to get results that are better suited to your search as well. So now the question has to be thrown back on the search engines. If you enter a particular query, why don’t you get the results for that query, why does it need inverted commas to get the exact match? That of course is a question for the search engines.
So to answer the question – does SEO create spam? No, SEO does its best to promote a page to the search engines based on the keywords related to that page. What the search engines do with that page is solely up to them. If they return the page and it’s not suited to the search query, it is normally not the fault of the web site owner or their SEO strategies. It the search engine that determines what it will publish for each and every search term used.