Not through theft, usually. Through waste, over-ordering and nobody counting.
Ask most owners what stock they hold and they will guess. Ask what a colour service costs them in product and they will guess again. Both guesses are usually low.
What is on the shelf right now. Counted, not remembered. What one service uses. Roughly how much colour, developer and shampoo a standard service takes. What you bought this month, against what you sold and used. What is about to expire. Expiry loss is the quietest loss in a salon.
Count the expensive, fast-moving things weekly. Colour, developer, treatments. Count everything else monthly, on a slow morning. One person counts, one person checks. Not the same person, and not the person who orders. Count what is open as well as what is sealed. Half a bottle is still money.
Over-mixing colour. A little extra on every client adds up to a lot every month. Ordering because a sales rep visited, not because stock ran low. Retail stock bought in bulk on a deal, then expiring on the shelf. No record of who took what for a home visit.
Weekly count on colour and developer only. The person who counts is not the person who orders. Check expiry dates every month, not every year.
Weekly for expensive, fast-moving items like colour and developer. Monthly for everything else. Counting everything weekly sounds thorough but nobody keeps it up.
Usually over-mixing on colour services and buying on offers rather than on need. Both are invisible until you know how much a standard service should use.