I can’t speak of too much experience with Vanilla, and very long ago experience with phpBB – I do see it in use a lot. I’ve done much with Discourse (what this site is running) and it does a lot but the management, setup, customization is a long learning curve.
Avoiding spam might be more a story of what the platform offers for onboarding and moderating new account requests. Most any site where any visitor can create an account to post publicly is susceptible,
Other solutions are using WordPress plugins that turn a site into a forum, or adding it in. I looked at this 2 years ago exploring the ones covered here 10 Best WordPress Forum Plugins (Compared) I found bbPress not usable (but forget why), BuddyPress is probably overkill- the free version of wpForo worked with the project (but then the client decided not to go with it).
I also used Mercury WordPress theme Mercury – WordPress theme | WordPress.org on a project in 2018 - sure it was last updated in 2015, but it worked great (and still does) here https://muraludg.org/contestar/