A closer look

The easiest way to understand what's going on is to take a look in the channels for the feet target: (I double clicked the left foot target in the action to get this window, then hid the x and z translates...):

Even though the first 2 keys and the last 2 keys all have the same value, the curve drawn between them isn't a perfectly straight line. Because this is the y-translation we're looking at here, the feet will pass through the floor between these keys, which is bad.

So why does AM do this at all?

Generally, when you move objects around in 3d space, you want a smooth, curved path of motion between the keys you set. This is perfect for objects that don't start or stop abruptly, like spaceships.

The problem with doing character animation is you don't always want that. When feet hit the ground they don't slowly come to a stop; they just stop (the rest of the body absorbs the impact). Likewise, when the feet take off for a jump, they don't smoothly accellerate to their full speed, they start moving instantly.

However unless you explicity tell AM otherwise, it will try as hard as it can to plot smooth curves between all your keyframes. That's what's going on here.

How to clean this up 1