I use security questions.
You can create niche-themed questions to block a lot of spam.
For example, on a cycling forum, I added:
"What is the brand name of the bicycle manufacturer who makes the Checkpoint Gravel Bike? (one word)"
The answer is: Trek
Some people will have to Google the answer if they don't know but most people into that niche will know what the answer is.
Those types of security questions I have found to be the best types.
Math questions suck. Easily penetrable.
I've also used "Spell spam backwards" as a security question and that seems to help and its basic that everyone should be able to get.
Aside from that, I enable Stop Forum Spam (and also report it using the API).
If your forum isn't huge and you're not getting hundreds of new members a day, you could always create a registration field (make it required) and ask why they want to join the forum. Then make it where you have to manually approve. You can test their answer against AI-detection, too, to ensure that it's not an AI response. This might be your best bet.
If you're getting mass-spam, I hear Cloudflare is one of the best ways to deal with that. I've not yet jumped onto that bandwagon, but I need to. Hopefully it's simple to do.
I got to say though. Back in either the late 90s or very early 2000s, I started out running forums with phpBB and the amount of spam bots I have to deal with daily almost made me say "F forums" lol. To me, today, it's nothing like that with all the security features and addons we have today. I'm thankful for that!
I run a nearly 50K member Facebook Group that gets significantly more spammers than any of my forums. Running that group is almost a full-time job, LOL.