Control algorithm for Quadcopter

I am hobbyist trying to understand control architecture of quadcopter.Cascaded control helps rejecting any disturbances, giving a fast response. But then why are using a square root controller instead of P controller, which makes my system slower. I have read papers on gain scheduling, but still don’t get the intution. Any explanation resources, to help me understand better, will be useful.

The square root controller, in this case, is effectively a P controller except it is limiting the correction rates if the acceleration gets too high. So I don’t know if I would think of it as gain scheduling. It is just trying to limit large changes in correction rates.
The feedforward path in the attitude controller is what shapes the input of the attitude request from the pilot or autopilot. In a perfect world with no disturbances and a properly tuned rate controller the actual attitude would follow the target attitude which is shaped from the pilot requested attitude. As you said, the P controller is just providing disturbance rejection. And helping the actual attitudes to match the target attitudes because the rate controller may not get the target and actual rates matched perfectly (due to real aircraft dynamics).