I don't disagree that there are definitely a number of people who shop at Walmart out of necessity, but i've also seen tons of people who shop there for reasons of wanting a bargain despite being able to afford far more. The Walmart phenomenon isn't a new thing by any stretch, nor are they solely catering towards a poor and desperate customer base. I myself live near areas with a lot of wealth (in Naples Florida, though I live in the rural areas to avoid the higher costs of living in-town), and there are five Walmarts in the general vicinity (and one extra if you count the grocery-only variant). Two of these were built near very wealthy areas, one built right next to Marco Island which caters towards a high end clientele. And a great many of the people who shop there don't give any indication they're poor and desperate. Only one of the Walmarts in the area was even built near an area i'd even call "poor", and even that area isn't anywhere close to the level of "poor" people are ordinarily accustomed to imagining with Walmarts.
There's blame on both sides, less blame for the customers in this modern era but at the very least back when the store began to get powerful. People have shopped at Walmart and empowered them long before the economy collapsed during the 2000's. They were already the most profitable retailer by the late 80's in fact. It has put a lot of stores out of business who didn't even cater towards the poor demographic in the first place. In my area at least, it's not just the poor that are shopping at Walmart.