It's a common one, but I don't really buy this argument. Small local businesses don't usually hire more people than large chains and they don't pay their employees more. Small shops are notorious for low pay and no benefits.
In the case of a discounter like Walmart the profits don't get siphoned elsewhere as much as never spent in the first place. There may not be a local shop owner anymore, but everyone else in the community has spent less money.