Object in animation not rotating as expected
If the final keyframes put the object back in the starting position, at 0°, 
what happens is (for the first video):
- rotation starts in the required direction, from 0° to 180°
- on reaching the 180° keyframe, the rotation starts for the second part, rotating from 180° to 0°, not from 180° to 360° (which is what you wanted, but didn't specify). 

Adding an extra keyframe at 270°, only means that the object will continue rotating until it reaches the 270°, and then go back to 0°. 

For blender, 0° is not the same position as 360°, if you want to get a full rotation, your end position must be 360°.