Why does a design fail to close timing?
Usually not for one reason. The common ones are a floorplan that fixed macro positions before the real congestion was known, constraints that do not describe the true intent, clock trees that spend their skew budget badly, and utilisation pushed so high the router has no freedom. Above roughly 80% utilisation, closure stops being a tool-settings problem and becomes an architectural one — the honest fix is to change the floorplan or the micro-architecture, not to keep tuning.