In this picture, we can see that $(X-BX) \perp col(B) $ because vector $(X-BX)$ is orthogonal on the plane.
But I don't understand why $B^T$ will get involved:
$(X-BX) \perp col(B) $ => $(X-BX) \in N(B^T)$ => $B^T \cdot (X-BX) = 0$
Instead, I thought it will be $B \cdot (X-BX) = 0$ because $(X-BX)$ and $col(B)$ are orthogonal...

$B^T \cdot (X-BX)$ is another way of expressing the dot product of vectors $B$ and $X-BX$, in matrix format.