Akismet will work in conjunction with the Flags and Approval extensions to halt detected spam posts from being viewable by non-mods/non-admins. Note that akismet requires a plan from akismet.com.
StopForumSpam will check usernames, IPs and emails for new registrations and block them if they have matching entries on StopForumSpam.com.
Spamblock will allow you to report users on your site as spammers to StopForumSpam.com, and delete all their posts/discussions.
This site uses all three to combat spam, and it works pretty well. There's some minimal work our mods have to do, but it has saved a lot of time, and we hope a lot of member annoyance.