Can someone please clarify my understanding of the cframe matrix?

I Saw on another post someone used this line of code to try and understand CFrame.fromMatrix

Part.CFrame = CFrame.fromMatrix(Vector3.new(0,10,0), Vector3.new(1,0,0), Vector3.new(0,1,0), Vector3.new(0,0,1))

I want to understand this more.
From my understanding of what I’ve read, the first Vector3 is just the X Y Z coordinates and the next 3 Vector3’s are just the look, right and up vectors. So if I’m correct in my knowledge so far. The 3 values in the Vector3 will make that axis of the part look towards that X Y Z position?. and if so doesn’t that mean that I can make each face look in a different direction conflicted itself?. I’ve played around with the values before and I have made the part almost turn inside out. Can someone please provide some insight of how all of this works and correct me if my understanding is misinformed. Sorry for the long post. : )

In the CFrame.new() constructor there’s an argument for ‘lookAt’ of where the front surface should face.
This use of CFrame.new() was deprecated for CFrame.fromMatrix() which instead takes 3 vectors of rotation: lookVector, rightVector and upVector.

Here’s a document abt it :