Usually this happens when the plane in front hasn't turned off the runway yet. The pilot won't land unless the runway is fully clear. I've had that at least twice in flight.
As for why the plane in front hasn't cleared the runway, there are plenty of possible reasons but it generally isn't malicious or incompetence; it is more a matter of close spaced arrivals and spacing between taxiway turnoffs and such.