Why can things still go wrong even after writing a lot of E2E and Unit tests?

Writing integration and unit tests helps us to verify the correctness of the system.