Utilisation and congestion are not the same measurement, and confusing them is the most common way a block gets to detailed routing before anyone notices it is unroutable. Utilisation is how much of the placement area is occupied by cells. Congestion is whether the router has enough track resource to connect them. A block at 60 percent utilisation can be badly congested in one corner while a block at 85 percent routes cleanly — because congestion is about the local demand for routing tracks, not the average density of cells.
This is why the router cannot rescue a congested design. By the time global and detailed routing run, the cells are placed and the tracks are fixed; the router allocates what exists. If placement has packed a region of high-fanout logic into one gcell, or a timing-driven pass has pulled a critical cone together, the demand for tracks in that region exceeds supply and no amount of routing effort recovers it. The honest fixes are upstream: change the floorplan, relax utilisation locally, pad the cells, or restructure the nets that concentrate demand.
The schedule risk is that congestion is cheap to detect early and expensive to detect late. A global-route congestion map is available minutes after placement; a detailed-route DRC explosion arrives after hours of routing and forces an iteration back through placement. Reading the global-route map early — and treating a hotspot as a placement instruction rather than a routing nuisance — is what keeps a block off the critical path.