The companies check, they just realize that humans are human. There are procedures for ensuring that cash handling errors are never made, but they are so wildly expensive and time consuming compared to the option of not hunting down a $.73 discrepancy that it isn't worth it. The procedures typically involve multiple employees counting (this is how the discrepancies are found at the end of the day), or counting all cash in triplicate (this is what bank tellers are doing when they give you the money, they are counting it out for their sake). It is a trade-off that competent management makes, you don't hire two cashiers for every register, and ask them to count everything in triplicate for the sake of a few pennies.
This isn't going to conform to your worldview, but even ATMs and automatic bill accepters make errors. There is a procedure for cash discrepancies even when you take the human out of the loop.
This isn't going to conform to your worldview, but even ATMs and automatic bill accepters make errors. There is a procedure for cash discrepancies even when you take the human out of the loop.