It doesn't have enough fuel, and keeping more in the booster would mean reducing the payload it could carry. I think most of the ways the landing could go wrong involve the rocket falling over, which wouldn't be recoverable (the fins do nothing at low speed, and the engine can gimbal but only a little bit).
In addition to fuel, the engines also can't restart an unlimited number of times. Starting the engines requires a special chemical charge to get the fire going, and it only carries as many as it actually needs.
Sometimes the pictures lose the sense of scale - the stage they're landing is something like 20 stories high, and the engines alone weigh around 4 tonnes. Also anything you put on the pad has to survive being torched by a rocket plume as it comes in for landing - even the concrete is pretty scorched. So that kind of system would be pretty hard to implement - and even if it were workable, Musk is mainly interested in landing systems that will work on Mars too.