Debt is when you owe something to someone or something. Hence, cognitive debt, is when you have things you haven’t thought out well enough, and therefor are forced to think about them in the future.
When you build a house you need to start out with a solid foundation. If you don’t, the rest of the house will suffer, and as you want to make the foundation better, you’ll also need to completely remake your house. Hence, making sure you have a solid foundation for your house, is the by far most important task you have when creating a house – Otherwise the rest of your work’s quality becomes completely irrelevant.
When you start out a software project, the initial architectural decisions becomes your foundation. If you don’t make sure you have a solid foundation, the rest of your project will suffer, and it will end up the equivalent of a house built on a collapsing foundation.
The above describes cognitive debt as an analogy, and also situations where your debt becomes too large for you to ever be able to repay it.
Where I live, there are hundreds of houses built on moving ground. This becomes the equivalent of choosing the wrong framework during your initial software creation process, the wrong libraries, and the wrong tools. Frameworks are your project’s foundation. If you choose the wrong framework, you’ll build your project on a sliding foundation of mud, which will result in cognitive debt, too large for you to ever be able to repay it at some point in the future – And your project will inevitably collapse some day.
The above is the equivalent of software development bankruptcy. Choose the right foundation, or choose bankruptcy in the future.