Configurable joints aren’t actually that complicated if you’re used to 3D vector math, it’s just that it takes a while to get used to thinking the way they expect you to.
And after this somewhat patronizing intro, some actual help:
Axis and Secondary axis are used together to express the local coordinate system of the joint. So if you think of the “Axis” as the X axis of the joint, “Secondary Axis” would be Y, and the vector orthogonal to both of them would be Z. Note that you don’t need to explicitly set the third vector, it’s automatically calculated as the cross product of Axis and Secondary Axis. So let’s call the “Axis”, “Secondary Axis” and the third, automatically computed “Orthogonal Axis” X, Y, and Z respectively. These 3 axis are centered at the “Anchor” position - which is also expressed in local space.
The X/Y/Z Motion and Angular X/Y/Z motion fields refer to these axis. By default, the joint’s local X, Y and Z axis coincide with the body’s local X, Y and Z. But let’s say you set Axis to (0,0,1) and Secondary Axis to (0,1,0): the third axis would be automatically set to (-1,0,0).
Setting “Angular Z motion” to “Free” and everything else to “Locked” would allow the body to freely rotate around (-1,0,0): that’s the joint’s Z axis, which also happens to be the body’s local X axis (because the joint’s Z is (-1,0,0), remember?).
If you set Axis to (1,0,0) and Secondary Axis to (0,1,0), the third axis would be (0,0,1): these are the defaults. With these axis, setting “Y Motion” to “Free” and everything else to “Locked” would allow the body to slide along its local (0,1,0) axis, etc.
It’s just a matter of setting your axis so that the joint’s local space suits your needs and using the right combination of Locked, Limited and Free linear/angular motion.
Not sure what you mean, could you be referring to the angular limits?