The answer to this will really depend on what you're building. If you're asking this question, then I assume community really important to you.
The best communities are pretty good at moderating themselves. Take hackernews or reddit for example. The barrier to entry is actually very low in each of these but the community decides what gets seen. Although ubiquitous, Facebook is actually another example because everyone is the moderator of their own community. eg: I wouldn't friend a spammer.
I'd suggest you'd think more about how you build a strong community than how to moderate spam. The community is the big picture. Spam is only a symptom of a weak community.
The best communities are pretty good at moderating themselves. Take hackernews or reddit for example. The barrier to entry is actually very low in each of these but the community decides what gets seen. Although ubiquitous, Facebook is actually another example because everyone is the moderator of their own community. eg: I wouldn't friend a spammer.
I'd suggest you'd think more about how you build a strong community than how to moderate spam. The community is the big picture. Spam is only a symptom of a weak community.