I was looking for some comparison between these two approaches, but couldn't find any. I am wondering, what are the actual differences in terms of power consumption, accuracy, convergence speed and complexity of implementation and tuning between them? Why do most quadcopter firmwares use Kalman filtering for sensor fusion?
Make sure you use your duckduckgoing a little harder...finding comparisons between fusion algorithms is pretty easy.
A comparison between Madgwick, Kalman, and Complimentry filters is easy to find.
Reading individual papers for each fusion method will give you specific answers to each method.
Which one is better is mostly depends what you have for sensor data. Madgwick typically uses 9dof sensors, while Kalman algorithms i‘ve seen with 6dof.
Comp filters I‘ve seen with just 2.
Why quads typically use Kalman is anyones guess besides the persons who implemented, however its likely they arn‘t using 9dof sensors, and don‘t bother with madgwick.