Hi.
World direction uses the world xyz.
Local uses the objects direction.
You can test this by parenting an objects. make an object and place another object inside that object (child)
Set a rotation to the parent (not 0,0,0).
Also make a another object (if you made a cube, make a cube also) but not inside another object.
set a rotation to that object.
Then use a set rotation on the child and set the same rotation to the child.
if you set it to world, the object will have the same rotation in the scene view as the separated object, but a different value in the inspector.
if you set a local value, then the value will be the same.
But the rotation in the scene view will be different depending on the parent.
there are different ways to move objects : Velocity / addforce / translate for example.
Translate moves an object over time, without physics.
velocity sets a movement speed to an object.
add force applies a force to the object.
The effect depends on which kind force you use.
to shoot the character in a direction you probably want to use add force.
You will need a rigidbody on the object to make it work.
this will add physics to your object, which means that it will fall with gravity.
you can set drag etc.