Getting the corners of two meshes to connect to each other?

I’m using vertex snapping, which is supposed to be how you make the corners of two meshes (I’m using BSP boxes) line up. But as far as I can tell, vertex snapping is completely useless, because it seems to connect everything to another meshes corner except the corner I’m trying to snap on. It usually takes the center of the side of the mesh I’m translating and connects it to the corner of the other mesh. How do i get it to connect the corners?

So it is definitely finicky and difficult.

Step One: Move pivot to the vertex on the source mesh you want to move. MMB+V and drag the center dot on widget. Helpful to just move pivot close to vertex with mmb drag on center dot.
Step Two: Snap that vertex (and pivot) to a vertex on a target mesh with LMB+V