There was a time when a spammer would hide text from either the user or a search engine. This technique doesn't work because Google is really good at catching spam. This article discusses some common spam tatics that should not be used.
Google is very good at parsing code and finding spammers. You really want to be careful and not do anything that would decive Google or your users. Here is an example of what a spammer would do.
Doing tricks like the above will get you banned from Google's results, not worth the risk of getting caught.
Legitimite reasons for hiding text
There are many senarios where you will legitimitly need to hide text. Some common examples include a slideshow or a printer friendly page.
Most of the resources I found around the net imply that Google does penalize for hidden text, but they don't remove the page from the index. I did find a post from Susan Moskwa (Google webmaster central team)
As the Guidelines say, focus on intent. If you're using CSS techniques purely to improve your users' experience and/or accessibility, you shouldn't need to worry. One good way to keep it on the up-and-up (if you're replacing text w/ images) is to make sure the text you're hiding is being replaced by an image with the exact same text.
To summarize, if your intentions are good you should be okay. I'm still looking for resources which would better explain safe techniques for slideshow and mouseovers. If you are aware of any please tweet @nickyeoman.