That would just leave theft, which is usually predictable with ML (this being part of what loyalty cards are for), and doesn’t happen at all for most low/medium-ticket items.
Everything gets stolen. Mostly by employees. When I worked retail somebody got away with a treadmill. Just wheeled out the door on a cart, nobody said a thing. Later I was looking for a treadmill after a customer had checked the online stock count, and the system was off by three, not just the one I knew had disappeared.
The other big problem with the counts is just stuff moving around the store. It's a limited physical space, and it isn't all merchandised according to the book. Un-recorded promo displays get set up, things get moved onto top shelves and departments where they don't belong.
Obviously it's not the only explanation, but I assume they use marketing research to help decide what inventory counts to display
I bought a water softener at HomeDepot about three weeks ago. Initially went to my local Lowes where I had checked if one was in stock and at the store. Yes and Yes. Get to Lowes and there is no water softener, as the website indicated. Lowe's employee checked the back as well, wasn't there.
There are many problems with humans doing this "inventory business" at $10 an hour or so. The professional counts that happen once or so a year by outside agencies wouldn't be necessary otherwise.
To be fair, I've had issues at Home Depot as well... lots of; "The computer says there are 2 in stock... I have no idea where they are."