Ahhh My friend you have just hit the topic of Pads and Priming, its made a lot more complex than what it really is.
There are a couple of reasons we do this.
One reason Is for orientation, to orient controls to the joints we parent them underneath the joint TEMPORARILY which is the key word. We do this so that the control inherits the joint’s orientation for proper deformation and rotation values. We then group it twice effectively creating 2 pads. One pad holds all the nasty rotation values and translation. The second pad allows us to key automation and SDK’s. For example finger curls and foot roll. This is very important because if you DO NOT pad/prime then you can NOT animate the controls. The attributes will become yellow instead of red which means its already being influenced by something effectively not allowing it to be keyed.
Another Is for doing an indirect system. In an indirect we do not parent the joints to each other, we do a parent constraint/orient from the waste to the pad. Once again this allows animation to be done and it also creates a safety net in case we mess up a system or the director comes back and requests a change , instead of destroying the whole system or chain you simply just remove that part and replace it.