To answer we need to go back to the root :
What is a normal of a face ?
it’s a vector that represent the orientation of that face, the normal vector is perpendicular to the surface of the face ( when that face is planar).
What is a vector ?
it can be summed up as a coordinate that indicate a direction. for instance, (0,0,1) in blender points up. (0,0,-1) points down and so on.
Finally the normal texture coordinate maps in RGB the face vector that is in XYZ.
If a face is completely pointing up, it’s color will be (0,0,1).
The bottom sphere show normal coordinate as little lines , the top one show the same coordinates but “translated” differently, this time as color.
It’s the same as doing that in geometry node :
Now to get a complete understanding, you must be sure you understand vectors, or all this might end up being a bit too abstract.
Since a vector represent an orientation, we aren’t far from converting that into a rotation.
Or at least it’s possible to know the angle between two vectors and do some magic with it…
And that’s maybe what @Hunkadoodle was referring to.
Unless I’m mistaken, what you are doing is extracting one component of the vector, and sometime that can work, but generally you want to use the 3 values at the same time and use vector math operation on them. Since a vector represent an orientation in 3D, you need XYZ component to get the real representation. But I agree that sometimes using only say the Z component is enough for what you want to do with it…