Mesh booleans have come a long way from their pre-V7 misery, but there are still issues.
First, these operations make bad meshes out of good meshes as they generate :
-Non manifold edges
-Self-intersecting facets
-Super skinny triangles
-Open meshes
etc…
Then there is this weird apartheid of the mesh intersect, split and boolean tools.
I can’t understand why meshes need their own tools when it is in fact very explicit that when a mesh is part of the selection set, the proper algorithm should be applied.
This segregation is one of the reasons there are TOO MANY tools/icons in the Rhino interface.
The “Section” and “contour” tools, which accept most any geometry as input are a good examples of how it should be.
Furthering this silliness , “mesh” booleans don’t have the same options as their Brep counterparts :