Many BBSes have the "bad word" thingy. I've got a YaBB site that confused a user mightily when she tried to post a message about a person with the last name "****burn", which YaBB cheerfully translated to "Thingieburn" as it displayed the message.
You can't prevent human spammers but you can foil programs by requiring the input of a few alphanumerics presented graphically on the input form.
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." Brian W. Kernighan