Ward Cunningham coined the metaphor: shipping imperfect code to learn quickly is like borrowing money. It can be a smart trade — you get to market sooner — but you owe a principal (the cleanup) and you pay interest (every future change in that area is harder, slower, and more bug-prone until you refactor).
Debt comes in many forms: duplicated logic that must be changed in five places, a function that's grown to 300 lines, missing tests that make every edit risky, a dependency three major versions behind, dead code nobody dares delete, suppressed type errors. Some is deliberate and tracked; the dangerous kind is the unintentional drift nobody is measuring.
The point of measuring it is not zero debt — that's neither achievable nor worthwhile — but keeping it visible and serviceable, so teams make the borrow-or-pay decision deliberately instead of waking up insolvent.