Stuff that hurts your rankings
1. Keyword stuffing
Google defines that term pretty clear. Once again: write for humans. Repeating keywords across the page can trigger Google spam filter and this will result in huge loss of positions if not total ban of your website. Write naturally, optimize a bit if needed - that's the best way of using keywords nowadays.
2. Hidden text / Invisible links
At first, let's see what Google says about hidden text. Obviously, Google doesn't like it and if your site uses such technique it may be excluded from Google's index. You may ask, how would Google know if I use hidden text or not? Ok, I can set "display:none" in my external CSS file and limit the access to that CSS file with my robots.txt. Will Google be able to learn that a page has a hidden text then? Yes and no. This might work in the short term, but in the long run your disguise will fail, sooner or later. Also, it's been reported that GoogleBot not always strictly follows the robots.txt instructions, so it actually can read and parse JS and CSS without any problems and once it does - the consequences for your website and its web rankings will be disastrous.
3. Doorway pages
As bad as some SEO method could ever be. The doorway pages are special landing pages created for the only sake of obtaining good positions for some particular keyword. It doesn't have any valuable content and its only purpose is to catch the visitor from the SERP and redirect him to some other, non-doorway page which by the way is usually absolutely irrelevant to the initial visitor's query.
4. Splogs
Splogs (derivative from Spam Blogs) is the modern version of the old-evil doorways. The technique was as follows: one created thousands of blogs on some free blog service like blogspot.com, linked them between each other and obtained some backlinks via the blog comment spam and other blackhat methods (see below). Splogs itself did not contain any unique information, their content was always automatically generated articles stuffed with keywords, however due to a large number of inbound links such splogs ranked very well in SERPs dislodging many legitimate blogs. Later, Google implemented some filters to protect itself from the large amount of splogs and now any splog gets banned pretty fast.
If you own a blog - do not make it spammy. Instead focus your attention on writing good and interesting content. This works better in fact.
5. Cloaking
Not as bad in some particular cases, but still a blackhat technique. The method is based on determining whether a visitor is a human or search engine spider and then deciding which content to show. Humans then get one variant of the website while search engines get another one, stuffed with keywords.
6. Duplicate content
Being a scarecrow for many webmasters, duplicate content is not actually as dangerous as it is spoken. There are two types of content that can be called duplicate. The first case is when a website has several different ways to access the same page, for instance:
http://www.example.com/
http://example.com/
http://example.com/index.php
etc.
All three refer to the same page, but actually are treated as different pages having the same content. This type of duplicate content issue is easiliy resolved by Google itself and does not lead to any penalty from Google.
The other type is duplicate content on different domain names. A content of a website is considered duplicate if it doesn't add any value to the original content. That is if you simply copy-paste an article to your site - it is a duplicate content. If you copy-paste an article and add some comments or review it from your point of view - that's not duplicate content. The key feature here is some added value. If a site adds value to the initial information - it is not duplicate.
There are two other moments here that are worth to be mentioned. First, if someone copies your text and posts it then on another site - it is very unlikely that you will be penalized for that. Google tracks the age of each page and tends to consider the older one - and it is your website in this case - as the source of the original text. Second, you still can borrow the materials from other websites without a significant risk of being penalized for duplicate content by simply re-writing the text with your own words. There is a way to produce unique random texts using Markov chains, synonymizers and other methods, but I would not recommend using them, since the output looks too spammy and is not natural anyway, so it really can hurt your Google position. Write for humans. Write by yourself.
7. Frames
The frames technology not being a blackhat SEO by itself still can hurt your rankings, because seach engines do not like frames, since they destroy the whole concept of the web - single page for single URL. With frames, one page may load and display the content from many other URLs which makes it very hard to crawl and index. Avoid using IFRAME and other associated tags unless you really, really have to and if you do - provide an alternative way to index the contents of each frame with direct links or use the NOFRAMES tag with some backup content shown to search engines.
8. JavaScript and Flash
Google can read both JS and Flash (well, its text part of course), but it is not recommended to build your site solely basing on these two. There should always be a way for a visitor (either human or bot) to read the content of a website with the simple plain text links. Do not rely exclusively on JS or Flash navigation - this will kill your SEO perspectives as quickly as the headshot.