I’m not entirely sure what the advantage is. Are there specific code functions that only work on humanoid types? Maybe the physics treats it differently?
Humanoid animations can be applied to all models with a humanoid (human like) rig. This means that animation can easily be remapped from one character to another. It also allows for Inverse kinemtics via code as well as easy masking of limbs.
Humanoid basically means the animation is meant to be used on human and human-like models.
I think some features from Mecanim only work with a human avatar. e.g. the settings and restrictions of the muscles, inverse kinematics and retargeting animation from one mesh to another. And I guess Root Motion works differently too:
- With a human avatar a body transform is used as Root transform
- With generic you have to set a root node manually.
- (link to manual: Unity - Manual: Root Motion - how it works)