2d animation, what does "apply root motion" do

I have a simple 2d sprite animation clip made up of a couple of curves (rotation, scaling). I noticed that in the Animation tab, I can preview the animation clip and it works correctly in the Game view. However when I play the scene, the animation does not play correctly, only one of the curves seems to animate – the sprite is supposed to rotate 360 while scaling, but it only scales, no rotation.

If I uncheck “apply root motion” in the animation inspector, the animation plays correctly. I have looked around to see what “apply root motion” does, but I’ve only seen vague information. Most of it is people saying to try unchecking it because it’s bad. I would like to understand what it is, instead of blindly turning things on and off. I’m asking primarily for 2d animations, but of course any information is appreciated.

I’m using Unity 5.

ok well apparently I missed this in the documentation. “Apply root motion” looks like it specifies that you will let your scripts control rotation and position. I had it checked, which is why scaling would work ok in my animation, but not rotation. If I were using a script to rotate and translate my sprite based on user controls, this is what I would want.