There are obviously many reasons, but to add a couple; Fight regression You don't want to fix the same bug several times, do you? When a bug is found, I first write a test to repeat the bug. Then I fix the code. Now every time I want to release a new version, that particular bug is tested yet again. The 'quick fix' 5 minutes before launch You're approaching deadline, everything is looking fine. Then, just before laun…
The universe tends towards maximum irony, and you are seriously underestimating that maximum. Even with 100% test coverage, fixing something 5 minutes before launch is an awful idea. Either delay the launch, or accept that the bug is small enough to not matter.