The paralysis part is what doesn't get discussed enough. Most teams know they have tech debt. They can even point at it. But they freeze because every fix feels like it could cascade into breaking something else.
I think the real problem is that tech debt compounds silently. Unlike financial debt, there's no monthly statement showing what it's costing you. So it grows until one day a "simple" feature takes 3 weeks instead of 3 days, and everyone's confused about why.
One practice that helped: keeping a running "debt ledger" — just a simple doc listing known shortcuts, why they were taken, and what the fix would look like. Not to shame anyone, but so when you do have a sprint to pay it down, you're not starting from scratch trying to remember where the bodies are buried.