Why are LVector3 and LPoint3 different things?

They are, but if you move an object relative to the origin, that vector will change. But if you use a vector to represent eg. a direction, it remains unchanged when moving that object relative to the origin.

For translation transform, homogeneous coordinates are used. When doing such a transformation, the w component for a vector is implicitly 0 whereas the w component for a point is 1 in order to cause points to be affected by translation, but not vectors.