I remember an old computer game (called Tetris) by a Russian programmer, where the player had to rotate and move objects with straight edges (squares, rectangles, and more complex ones) that were falling down to build a solid row at the bottom of the box. That helped in two-dimensional thinking, I suppose.
With the capability of spatial reasoning we can create and manipulate virtual images in our mind in 3D. This is an indispensible prerequisite for medical professionals, engineers and physicists, to mention a few.
How can we teach spatial reasoning? What are your experiences and thoughts?