I use the sender/client/HELO restrictions from Postfix to block misconfigured spambots (no FQDN HELO etc.), and a custom rule to block submissions where the sender domain equals to one of my own domains. This alone catches quite some spam, for the rest I use the NixSpam RBL[1], which has a very lenient policy (only IPs actually sending spam are listed, with a TTL of 12 hours, so false positives are pretty rare, while still covering the major botnets).
Usually less than 5-10 spam mails per day survive with this config, which is acceptable for me, I view it as a typical 80:20 solution and don't want to lose potential customer communication anyway.
Regarding outbound mail, in my experience it is sufficient to have a clean IP from a reputable provider with proper reverse lookup to have most sent mail go through. I don't check RBLs regularly but I did once when setting up the server, since sometimes one can get an IP which has been burnt by a spammer before. For a quick check whether everything is configured properly I recommend using the email check of webcheck.me[2], while not covering every single aspect, it gives starters a good overview where they can improve.
If you want to host a blog or personal site in addition to e-mail you should definitely have a look at Froxlor[3]. Froxlor (fork/successor of SysCP) is a lightweight control panel which allows to add domains and mailboxes through a web interface, without taking over your whole /etc (like Plesk or cPanel). Even if you don't use it in the end, the suggested configs contained in Froxlor are a good starting point.
[1] http://www.heise.de/ix/NiX-Spam-DNSBL-and-blacklist-for-down...
[2] https://webcheck.me/
[3] http://froxlor.org