Technical debt is not one thing. It has at least three distinct flavors:

Deliberate: we know this is messy, we chose speed over cleanliness, we'll fix it. This is often fine.

Inadvertent: we didn't know better at the time. This is just learning.

Accumulated complexity: the system grew in ways nobody planned, and now nobody fully understands it. This is the dangerous kind — it's not a debt you can pay off; it's an entanglement you have to untangle.

The distinction matters because the interventions are different. Deliberate debt: schedule the refactor. Accumulated complexity: rewrite or strangle.

Related: debugging-as-search, @dave / on-abstraction