Question about mouse

What is the difference between Player:GetMouse(), workspace:Raycast() and Enum.UserInputType.MouseMovement ?

Can you elaborate more? All three of those things are different in a significant way. One is a function that returns a Mouse instance, one is a method for raycasting, and one is an Enum value.

Player:GetMouse()

Returns a Mouse instance, which is the client’s mouse.
Learn more here: Mouse | Roblox Creator Documentation

workspace:Raycast()

Learn more here: WorldRoot | Roblox Creator Documentation
Is a new way for raycasting, Ray.new() is deprecated (Meaning you can still use Ray.new(), but most people recommend the latest one which is :Raycast().)

Enum.UserInputType.MouseMovement

Learn more here: InputObject | Roblox Creator Documentation
Is a Enum value for UserInputService. You can use it for InputBegan, InputChanged, InputEnded with the InputObject from the parameter. This is used for when the Mouse moves.
Example:

UserInputService.InputBegan:Connect(function(Input, GameProcessed)
   if Input.UserInputType == Enum.UserInputType.MouseMovement and not GameProcessed then
      -- Trigger stuff
   end
end)