It's moreso that completely accurate inventory takes an incredible amount of resources and man power to maintain, and you get diminishing returns the closer you try to get to 100%. Retail is a big industry and there are many very talented people working on this problem.
Retail orders are done automatically based on inventory, and if the numbers are off, either too little will be ordered (out of stock = lost profit) or too much (backstock = man hours spent dealing with it). So there's a clear profit motive to have tight inventory. This is a much bigger deal to these stores than whether the numbers are internal or customer facing.
NumSold and NumIn are ofc eady to keep track of, and NumDamaged could just be like a portable barcode scanning device that the staff scans with whenever putting away a broken item.
It is not.
For instance, NumIn would indicate how many received at the store, no? But what then?
It needs to physically exist somewhere. The display? Overflowing onto the overhead? Overflowing onto the next overhead over? Pushed to the back of the overhead behind something else? Kept in the back because there's no room anywhere?
For 10,000+ different products or so per store.
Home Depot isn't /perfect/ in that regard. It'll often see "a few left" or "call for inventory" and I've had to hunt down people to find moving boxes in a store that didn't seem to carry a lot and moved them around on various end-caps. But it's way better than any other retail store I've seen. Getting that last little bit must have been difficult.