You may not often think about it, but the appliances/tools/toys/etc that we think of as hardware have many software components – and almost all software has bugs or idiosyncrasies. If the manufacturer fulfilled their duty and properly tested the device, you hopefully won’t find a bug. But humans are ingenious – through malice or ignorance, a user will likely try something “out of the box”. When this happens, the results vary: a bug in your microwave can hurt you, a bug in your car can kill you, and a bug in your ATM will cost you money.
Most ATMs I’ve used take your card and hold it until the end of the transaction. I’ve assumed this was due to some type of security concern, but it’s really quite simple: you are very unlikely to leave the ATM in the middle of a transaction if the machine still has your card.
This weekend I witnessed a set of ATMs that did not hold the card. I was hanging out waiting for our kids when I noticed that one of the ATMs would not stop beeping. Upon closer inspection, I discovered that the customer was long-gone but the screen still read “Would you like to perform another transaction?” Obviously, the customer had taken their money and left without bothering to check if the machine required them to manually end the transaction. A stranger could have walked up and emptied their account.
This case may have been poor design and/or testing by the manufacturer, but I feel it still demonstrates the point: try something the designers didn’t expect and you will get an unexpected result. It happens a lot.