End users attempt to use the software in legitimate but unforeseen ways. The system then rejects their inputs and throws away their data. Finding the software to be an obstruction to work, they then route around it. If we are very lucky, they also complain to us, the developers.