Too Long; Didn't Read
Debugging is the scientific method applied to computer programming. We can observe a problem or a behavior directly within the running application.
It isn’t a replacement to testing, you often need a debugger to debug the tests or understand the missing tests. In fact, debugging and testing go hand in hand.
Debugging provides insight into our code that’s normally much harder to get otherwise. You can use it to learn new code.
But most of all. It lets us verify assumptions we might have about the running application. This helps us track bugs.