Creating IK legs with a three-pivot foot
Legs are often controlled with an Inverse Kinematics constraint. Why? Because of the very nature of the IK constraint, which controls a chain by the position of its tip, rather than by its root. Our character's legs position will often be controlled by where its feet are in relation to the ground. This is a somewhat general rule: whenever a limb (arm or leg) has its control point dictated by its tip (hand or foot), you should use an IK constraint.
That's the case we'll find very often for legs, so the feet remain still on the ground while your character moves. The big issue is that there's more than one pivot point to the foot movement: your character can stand over its ankle, ball of the foot, or the tip of its toes. We need an easy way to control the leg regardless of what pivot point is used.
Note
When the chain's control point resides on its root (such as the shoulders or hips), FK can be a good solution to achieve nice and fluid motion arcs.