What does 'RotationfromXvector' and 'get control rotation' does?

RotationFromXVector assumes the source vector as forward direction, and creates a rotator based on this direction.
GetControlRotation gets the rotation of the controller.

These two resulting rotators may be different, because pawn does not always inherit the control rotation.

can you explain what is actually a source vector?

It’s what you put into the yellow vector pin of the RotationFromXVector node.