First, check your code, make sure theres not a errant nofollow or robots.txt directive in there. Also, check your organic search in analytics to figure out when the dip really occured, and try to trace any changes made around that date.
I would then portion your content by topic or author - you can do it into subdomains, folders, whatever, the key is to determine which of the content is low quality and what google still finds to be high quality. Within a bit you should see some keywords return to normal and some will still stink. Take the ones that stink and scrutinize them against google's list of 22 things to think about, work to improve that content. Similarly I would ask an objective third party to read through that content and see what they say about it.
Then I would look into your site architecture, are obvious things you'd want to appear within a click of an article there? If something is referenced somewhere else on your site, link to it there, don't make me find it. Do you display a lot of adwords/ads on the site? Scrutinize the ads, do they add value to your users?
Go through your code, make sure your on-page optimization is all in a row and does not look spammy. Make sure you have your alt tags going on and are unique to images.
Check your link graph, do you have a lot of article syndication/content syndication, is someone stealing your content? Try employing rel=author to help with that and show you are the source of said content. If you stole the content, rewrite it and make it unique.
Thanks for the TOS reminder
Leosghost [edited by: dunivan at 3:26 pm (utc) on Nov 2, 2011]