Here's one additional thought. I just realized that every time a system reallocates resources to deal with a problem, it loses further efficiency. That happens both because the resources being reallocated may not be optimal for their new use, and some additional losses will occur due to something analogous to friction or thermodynamic effects. Not all of the resources you take away from the donor task make it to the target, and those that do may not be quite what's needed. Both effects result in the need to take away more resources from donor tasks than are needed for the repairs.

In a very efficient (ergo low resilience) system this spells mucho trouble, as it increases the effective damage of each cascading shock.

I think Wal-Mart is finding that out.

That is a pretty broad statement to rest on such a thin reed.

EVERY time? really? Often when resources are allocated to deal with a problem (Hmmm, anti smoking adds and public smoking bans to combat smoking) the system gains efficiency. Often the problem is the inefficiency itself (how much farmland are we using so that people can die earlier and at great expense?), so allocating resources to deal with it does the exact opposite of what you are saying.

Same thing with complexity BTW. People talk a good game about systems having some inherent complexity limit, or some such. Pure bunk. As a general rule, complex systems tend to work better than simple ones, otherwise why would the complexity have been added at all? It's nice when a system can be both simple and good, but in my experience, it's a rarity. You can see this in science (General relativity bumps off Newtonian physics), computer science (quicksort bumps off bubble sort), mathematics (Complex analysis easily tackles problems that 100 pages of algebra would never solve), etc...

Such broad and sweeping statements (including my own, of course) help nobody.