Loss from stealing was called 'shrinkage' by retail industry people, in Sam Walton's autobiography 'Made in America'. As you say, they expected to have some. I wonder why it can't be prevented 100%.
Prevention to 100% would be costly. They have diminishing marginal returns.
Why would someone pay $50,000/year for a hypothetical system which would theoretically catch everyone and fill out the police report automatically when the store experiences a tiny $300 annual shrinkage loss?
Lying for Money makes the case that the optimal amount of fraud in any real world system is non-zero. Fraud prevention has direct and indirect costs. At some point the costs of fraud prevention will exceed the cost of fraud itself.