The concept of technical debt is used a lot in the software world today. But the problem is that the concept is used almost always with a different meaning than the initial one.
Ward Cunningham coined this metaphor when he was working for a financial software product. The meaning of technical debt is that we prefer to put in production software with a partial understanding of the requirements and gather feedback. The only reason we do this, because we learn faster about how the feature should look like. While we put in production partial features, we accumulate technical debt. It is extremely important to take the time and clean the technical debt, by adding into the software the gathered understanding from the partial feature put in production.
Technical debt is not sloppy programming or messy code.