Technical debt is the accumulated cost of decisions that were expedient at the time but make the system harder to change later: the quick fix that was never revisited, the abstraction that no longer fits, the test that was skipped. Like financial debt it is not inherently bad (taking some on to ship sooner is often the right call), but it charges interest, in the form of every future change taking longer.
The danger is debt that is invisible until it is overwhelming. A healthy team names it, tracks it, and pays it down deliberately, rather than letting it compound until a small change becomes a large, risky one. Most "we need a rewrite" situations are really "we ignored the debt for years".
Related terms