I'll second this.
My friend runs a smaller site and was having a problem with forum spam. He edited the registration page to include a checkbox that said something along the lines of "check this box if you are not a bot". His problems went away instantly. Obviously this does not scale well, but for smaller sites being targeted randomly by automatic spam crawlers, it appears to be very effective.
Sorry to nitpick...
In short, nodes of b-trees can have many children while nodes of binary trees have at most two. You see the former used in databases indexes where you're primarily waiting on disk operations. It makes sense to have the number of siblings nodes be on the order of the size of a disk block when you're disk-bound, so you end up with nodes having hundreds of children each.
Always draw your curves, then plot your reading.