Well in a perfect world, you'd probably run emails through both before emails got anywhere near a client machine... But that's a discussion for another time.
Simply put SpamAssassin is a safer choice. It might not catch as much spam, (it probably will) but you're probably less likely to get false positives. That for me is a very important part of performance.
But both systems need to be told things to sort the ham from the spam. You can't really expect to just start using something like this and get 100% accuracy. Pull in things like spamhaus to help. Train it by marking files properly.
If you can spare any time to configuration, use this generator to quickly set some ground rules.