I run my own mailserver, and I run a greylister on it. A greylister is currently a near perfect defense against botnet spam. According to my logs it prevents about a thousand messages a day.
The only thing that gets thru is non-botnet spam. A year ago, it was a nigerian scam about every 3 days. Now it's about a dozen nigerian scams, viagra offers, and stock pump-n-dumps per day. Which is not too bad, when I read my mail on my desktop IMAP client. But when I'm reading mail thru my smartphone, its more than a little annoying.
I really don't want to have to take the day to figure out spamassassin.
On the plus, most of the junk is going to the email address I mention in the first line. So what I'm going to do is put in a sieve rule that drops email to that address into Junk.
So, don't use email@example.com to email me.