When the big snowstorm was plowing into the Northeast several weeks ago, people were complaining about the reports of empty shelves of bread, milk, and eggs in the supermarkets of the region, because people had been so silly as to rush out and buy these things in preparation for an emergency situation that might make travel difficult for days. Didn't these people realize that they didn't need perishables, they needed things like canned foods that would last for a long time?
The mistake -- and not an unusual one! -- is thinking that you know more about the contents of someone else's larder than they do.
The reason that the supermarkets run out of these sorts of items in an emergency is twofold:
Now this last is not true of people like, for example, my friend catalana who lives in a place that is inconveniently a half-hour or more away from the supermarket. She gets to restock things once a week or once every two weeks and has to actually do things like menu planning and close monitoring of what's actually in the cupboards, refrigerator, and freezer.
This is not true of most of the urban population of the United States. (Modulo the people living in poverty who find themselves in "food deserts", but that is a different problem altogether.)
Most of the people who were going to be affected by that big snowstorm had a reasonable expectation that they'd be able to get out of their houses and back to the store within a few days. And because they aren't going to keep deep supplies of perishables in their house (since they go bad), they went to the supermarket to get enough to be able to ride out a few days at home.
And because the supermarket doesn't keep deep stocks of the perishables, the supermarket shelves became empty.
None of this is a surprise.
And all of this is easily explained by assuming rational behavior on the part of the supermarkets and the affected households.
In other words, they aren't as dumb as you seem to think they are.