Finally got around to installing SpamAssassin as I was starting to get annoyed at the level of unsolicited email I was receiving.
Training the Bayesian filters was quite easy (sa-learn --spam/--ham --mbox lots_of_emails.mbox) and I've added a number of rules from Rules Emporium and a cron-job to refresh these every week. I also enabled DCC and Razor which seems to have a noticeable effect.
I am generally happy with the results so far: it's catching at least 90% of my spam, although I don't trust my configuration enough yet to bounce offending email.
On the downside, it seems to be eating a fair bit of memory. Also, configuration was a bit long-winded: it doesn't talk directly to Postfix, it uses AMaViS to decide whether to perform a spam-check and what to do with any offending mail. My mail configuration uses Postfix and Courier backed onto MySQL which added a number of complications as AMaViS needs to know the local domains the server accepts mail for.
A few useful things while debugging: Setting $sa_tag_level_deflt to -999 in amavis.conf means that the spam score gets added to every mail that is checked - useful when seeing if mail is being checked at all. GTUBE is also useful, although be careful not to add this to your .signature.
Does anyone have any tips to increase the effectiveness further?
UPDATE: I've enabled rejecting of mails identified as spam. Lets see how many people complain.