It's something that accumulates organically in any real world project, because the real world doesn't care if your code is a paragon of programming excellence or not.Which is short-sighted, really. Technical debt has somewhat the same properties as financial debt, which is why public companies have to disclose monetary debt and have plans for dealing with it. It's high time that the culture caught up to technical reality and started to treat technical debt in the same way. This is especially true for finance!
In a way you are basically saying the same thing, but the warning sign to note is your observation that "the real world doesn't care." It would be insane for the real world to not care about a company's financials, particularly its debt. It's just as insane with technical debt.