Walmart isn't good for small towns no matter how you look at it because they turn entire small town economies into a line item on a gigantic global multi national's ledger. And once done, there is no going back.
They build a new store and then sell at a loss to bankrupt the competition. They can do this because they have billions of dollars in reserve and are subsidized by other stores. How can local businesses compete? Once they all go out of business and there are no choices left Walmart is free to raise prices and recoup their losses and more.
Then there are the jobs. Low wage, dead end. They create the new working poor where you can't survive even with a job so you go on government assistance as well. Subsidized serfdom.
And to top it all off, if they aren't profitable, they won't hesitate to close up shop and leave a smoking crater in the economy of that same small town that is near impossible to recover from. There are no more small business and it's near impossible to start them again because local employees have been subsisting on starvation wages.
Sure, if you ignore all the horrible realities of the Walmart lifecycle, it sure is nice that they provide a convenient way to buy lots of cheap garbage!