From a programmers point of view, it is easier for a script to animate if it knows where the joints are as it doesn't have to calculate where a new joint would be, etc. It is therefore easier to just let people attach limbs on joints instead of anywhere on the limb. We've also seen that when a limb is close enough to another they merge the mesh, so that's another option.