The users expect the application to work flawlessly and the way they imagined that it would work. You do your best to create a flawless application, and implement all the wishes that the user wanted. You have taken care to test, test, and test some more. Your database code has gone through the harshest of scrutiny and has been deemed application quality code. Yet when the application is deployed, within the first millisecond, the user encounters a problem or just does not like the way the application works.
It seems like it does not matter how much effort you put into creating the ultimate application; there is always something that goes wrong, takes too long, or should have been implemented a different way.