1) One of most effective way is to block IPs. So, the same person/bot don't create multiple users.
2) Another good method is to give real users the ability to report spams like Youtube and other sites do it. It's faster to catch the bad apples.
3) Another way is block links from users with less than x days or x posts.
For example, the user http://www.scirra.com/users/bolo01 is a member for about 10 minutes and it's posting spam to the website.
4) If the post is suspicious, you can put it on hold until an Admin can verify it and then make it live. Wordpress does that very well with comments!
I hate spammers!