Spammers seem to randomly pick forums and when they do you're doomed. I've had spam issues at some of my forums I had to shut down. I was running like 4 at once point and just had no time to manage them all. I recombined them into one, but then got side tracked, I really need to finish that project, kinda feel bad for the few members who did post there.
On the one forum I do still run that used to get hit with spam, spammers ALWAYS put "england" as their location, no idea why. So I just made a script that if a new user registers with that location the account just gets deleted. As an extra measure I also made everything go into a moderation queue. They see their own post and think it made it through, but nobody else except admin/mods see it. I can then ban/delete from within the post.
I did not implement that on the new forum yet, I probably should before I release it. Captchas may also help for first time posts but that can be kinda annoying for users too, and lot of spammers got those figured out and use OCR.