Repeat after me: There is no such thing as a “point”; there are only vectors.
It’s not “point A, point B” and then a vector AB (or BA) between them -> It’s Vector A, Vector B, and then Vector A - B, or B - A.
Generalize your thinking in terms of vectors, and you’ll preserve your sanity.
It created a Vector object using the information in the supplied list, which, by itself, represents a position in 3D space, with reference to the origin (0, 0, 0). The reason people bother to create vectors from position lists is simply because, as Joeman16 said, a Vector object provides certain functions (like reflection) that are not available on the the list object.
Also, and perhaps more important, is the fact that Vectors have common operation overloads (like addition, subtraction, dot product, etc), and they can be used with matrices in a fairly natural manner (I will demonstrate this below, as it answers one of your previous questions).
In 2.5, this was streamlined, and owner.worldPosition is a proper Vector object.
What would be the process for supplying a coordinate, a vector and a distance and attaining the new coordinate?
Think in vectors:
pos_vec = Vector(own.worldPosition)
distance = 24.5 # or any other scalar
dir_vec = Vector((1, 1, 1)) # or any other direction
trans_vec = dir_vec.copy()
trans_vec.magnitude = distance
new_coordinate = pos_vec + trans_vec
Can I use the axis vector from another object to translate a coordinate? How would I get the normalised vector of an axis?
Yes, and there are a few ways to do that, both involving the orientation matrix. One is to pick out the appropriate column from the matrix, because that’s essentially what the matrix holds (axis vectors):
mat = own.worldOrientation
x_axis = Vector((mat[0][0], mat[1][0], mat[2][0]))
y_axis = Vector((mat[0][1], mat[1][1], mat[2][1]))
z_axis = Vector((mat[0][2], mat[1][2], mat[2][2]))
The other is to simply transform a global axis vector with the matrix of the object in question:
mat = Matrix(*own.worldOrientation) # "*" splits list components into 3 list arguments
x_axis = mat * Vector((1, 0, 0))
y_axis = mat * Vector((0, 1, 0))
z_axis = mat * Vector((0, 0, 1))
Can coordinates be mirrored along a vector between two points?
The reflect method mentioned by Joeman16 should be what you’re looking for.
Relevant documentation can be found here: http://www.blender.org/documentation/249PythonDoc/GE/Mathutils.Vector-class.html