One of the real problems a store has in situations like this is walking the path between keeping customers happy and staying in business.
If you are selling 100 boxes of ammunition a month, each costing you $8 and selling for $10, you take in $1000. Of that you have $200 to pay for lights, heat, insurance, wages, etc. and $800 to buy more ammo to sell.
When sales spike and you call your supplier who says they are getting low and next month you can only get 50 boxes, you still need to average $200 markup to pay your bills. If your supplier marks those 50 boxes up to $10 instead of $8, you would need to sell each new box for $14, grossing $700 to make your $200, only leaving $500 to buy more from your supplier. So maybe you immediately mark up the ammo you have left in stock to $12 to give yourself some cushion. If there is nothing more to sell in a couple of months, your cushion lets you stay open, for a while.
The factory may be doing the same thing to the distributor, so the markups flow down hill, like other things.
That's a simplistic way to look at it, but you need to average enough in sales each month to pay for replacement stock and cover your expenses. And of course some retailers and distributors will mark things up huge amounts, knowing they can get it.
How much is a bottle of water worth, a) to a thirsty man in the desert, b) to a man standing next to a water fountain? I'll pay more if I'm in the desert, but I will remember.