An algorithm of anti-spam is only as good as its intelligence to distinguish between "probably spam" and "probably not spam." The best ones base themselves on statistics. What words and phrases were used in a large percentage of spam posts and very few non-spam posts. Everytime a post is labeled as spam, this algorithm ought to learn from it and incorporate it into its statistics of what is and isn't spam.
Anything else is simply taking stabs at words that may or may not be representative of spam. The more obvious words are evident, but it's easy enough to fool such algorithms, requiring that a list of words and expressions be constantly expanded on. I think a good place to start would be e-mail filters.