Because it's a scam, of course. Tricking users into visiting your site because of a weakness in a search engine's algorithm as opposed to because you have relevant content and service offerings is (nearly) as bad as spamming them - us - directly.
Many SEOs and other agencies and consultants provide useful services for website owners, including:
* Reviewing and providing recommendations on your site content or structure
* Technical advice on website development: for example, hosting, redirects, error pages, use of JavaScript
* Content development
* Managing online business development campaigns
* Keyword research
* SEO training
I would argue that SEO, in the context of google, is really an analysis of how to make your site more relevant to the intended audience. This is not a bad thing.
but there's SEO, and then there's slimy SEO. Too many times people get them confused. There are a lot of smart things to do to earn a higher ranking just by changing the way your site's programming works, and none of them involve link buying, page spamming or underhanded shenanigans.
There is "making a better website" and there is "making a website come higher in search rankings" and the only way to do the latter without the former is by gaming the system.
What would you say changing your links from using underscores to hyphens would be? Is that gaming the system, or making a better website? I mean, from a programming perspective, it doesn't sound like it makes much difference, but from an SEO perspective, it makes a huge difference. Google recognizes words when they're hyphenated, but not necessarily when they're underscored. Your rankings will probably improve just by doing that. Its simple things like that that programmers should be aware of, and its not really gaming the system, its programming to match what Google recognizes.
Unfortunately there are lots of people who do use shady tactics to promote their sites - and simple grassroots whitehat SEO practises are really all one should focus on.
Google and Yahoo can, and do change the rules of the game all the time by changing their algorithm, so just make sure you have your bases covered with the things that you cant get pinged for.
1) Because SEO is today was HTML was in 1995: A simple and basic concept that almost anyone can master, but is portrayed as some high-level mystery "language". I think most hackers get upset when simple ideas are over-hyped and blown out of proportion. In many ways "SEO" is nothing more than quality/standards-based site design and relevant and current content. Maybe something like AP English for the web: not mentally tasking, just a lot of rules to know
2) (Perhaps the bigger reason) Because SEO disrupts the natural food chain of the web. If someone is passionate, knowledgeable and committed to their site or the business underlying the site, they will tend to naturally rank high in SERPs. This would likely be because they put the time into making sure the layout is clean and orderly, the content is accurate and up to date, and the site is overall valuable. In exchange for this, users who are interested in whatever niche that site serves reward them by referencing other users to the site in blog posts, forums, etc.
Now, you get someone with an inferior site who puts their effort in SEO and not The Site and wants to jump to the head of the line in a way that they didn't earn. Now users who are trying to find quality content or products in that category are sidetracked by this high-ranking but overall less valuable site that came up as results #1, #2, and #4 in their search for "widgetA". Most hackers despise this blatant manipulation of the servers and algorithms that are impartial and on a more level playing field will yield the correct results to a query. Maybe we don't like SEO because it exposes the flaws and frailties of our system :)
To answer your question: trying to make your site rank better is a good thing, especially if you do this by making user-centric improvements to the site and content. Trying to make your site rank higher than it naturally deserves to is equated to Spam.
It depends on what exactly do you do and don't do.
For example, if your site has poorer content or less usable service, but you used various tricks to rank higher as sites with better content or more usable service, then that's somewhat despicable, I'd say. You might have wasted other people time, because without your "SEO", they could have been served better by SE. I would not use the word evil, though.
But if you just provide sitemap or use the <title> tag correctly, that's ok.
As rms mentions, most of SEO is basic practice and are things you should be doing anyway.
If you want your site to rank better simply provide something people want and try to give good, fresh, content on a regular basis. This is perhaps the best way to achieve a good (organic) ranking.
Users you "earn" also tend to stay longer, be more active, more loyal, and will link to you and spread the word anyway, which is what you want.
With good users and traffic you will automatically get better rankings and have good monetisation options too, such as advertising/adwords, if you do not already charge for your service.
Lastly, have a blog as that is probably the best SEO tip most sites do not utilise.
SEO has struck me as something that should be straightforward but seems to be black magic.
There's a lot to do, from the URL, to keyword frequency to use of header tags to if you should have a unique IP and how long your domain is registered for -- and that's before you even leave your own site. A brilliant hacker can write a useful, scalable app that has little to no internal SEO and get fewer visitors as a result.
Then there's all the little games people play to get links: begging for them, paying for them, press releases, "do follow" comments on blogs, and the dreaded DMOZ. It's a drain on a small company that probably just wants to build a better application.
Because most of them don't understand it, which is why most of their 'startups' make no money (that and creating stupid websites that can't make money in the first place). The people who do understand it and create high quality content websites (with less programming knowledge than said hackers; sometimes no knowledge at all) are the ones making money online, without needing 'investment' or going 'stealth'.
I think hackers hate SEO because someone can have a crappy site which outranks the hacker's awesome, perfectly programmed site. And thats irritating.
But like some people mentioned, there are a lot of SEO tips that people should be aware of, and quite a lot that programmers should be aware of if they're going to program a good site. Some simple programming choices in the beginning can make a big difference to your site's ranking, so if you're not aware of what those are, then you're not being a good programmer. Check out http://www.netconcepts.com/tag/case-studies
Because there isn't that much to SEO so it's not really worth talking about. Let me know if I'm missing anything. To do SEO:
1. Use semantic markup and SEO best practices
(http://www.seomoz.org/blog/the-web-developers-seo-cheat-sheet)
2. Email people and tell them to link to you
Grey hat:
1. Buy paid links without nofollow on forums.digitalpoint.com
(not detected by Google yet, but they'll figure it out eventually because the affordable links are all spam-like webpages
that exist only for the purpose of having pagerank and selling links. For more money, you can get better links from real sites, or you can hire an SEO that knows what he is doing. Ideally you only pay him for the links and you handle all other SEO yourself, because it isn't worth paying for.)
2. Write articles and upload them to free article databases
There are too many SEO cowboys out there trying to make fast money for little/no work, and most people do not understand what good SEO involves. Hence many have bad experiences and the industry as a whole gets a bad name. This is unfair as there are some SEO practitioners, but even from my limited experience they have been few and far between.
We have to remember as hackers, startups, or computer/web literate people, we should be doing most of this ourselves, but for most people (SMEs or mom & pop with their website/ecommerce store) this will be foreign to them and hence the market for (good?) SEO practitioners.
Whereas bad SEO practice (using link-farms, link-baiting, paid-for directories) will certainly harm your site (Google penalize against sites that do this and there are many cases of sites paying for SEO only to see a early rise followed by a sharp fall later), good SEO at the basic level can significantly help.