The reason why many retailers are doing poor is a multifaceted problem. Online consumer spending is just one of many trends, but companies are learning to adapt to that trend. There's a new term that's popped up called omnichannel marketing, which is basically integration of the online and in-store experience. Best Buy is a prime example. They have an option to find items in the store via their website or to order online and pick up in store. Best Buy also has WiFi in their stores, and their products in-store have QR codes so you can scan them on your phone and see more product information. Companies that are successful with omnichannel marketing tend to do better.
Walmart is a major reason for the downfall of so many companies. They came in long before Amazon and other major online retailers, and they still surpass Amazon in revenue. Personally, I really hate Walmart stores and won't shop there unless I have to, but many take advantage of their prices, which are always consistent. Walmart rarely does sales in favor of always having their prices low. They also sell basically everything, so they took down many stores at once. Amazon took down bookstores, but other than that, they're still new to the game.
Many retailers are also failing to be innovative. It's one of the reasons department stores are failing; they think the same methods from 20 years ago will work today. Failing to change and move along with the times is a surefire way to go out of business. One of the reasons Amazon is so successful is because they strive to be innovative and they focus on improving their customer experience. They are always trying to change and move along with the times. They try constantly to deliver their products faster, to add new features, to develop new products. And yes, that means that sometimes, they have major flops (case in point: Fire phone). But it also means they're innovating and not staying the same. Whereas other than the actual clothing, does a Macy's really look that much different from 20 years ago? (I'm going with no here because I was about two years old 20 years ago, but based on what I've read and seen on TV, I'm thinking nope)
We also have a general shift in consumer spending, especially among millenials (a term I hate because of all the stereotypes that go along with it, but that is useful for marketing studies). Younger people prefer to spend less on material items, more on experiences. They buy what they need, they invest in their technology, but they're not necessarily willing to spring for all of the goods that other generations might have. Millenials are more likely to spend money going someplace for the day and doing something than walking through a mall and shopping for things.
I do have to say, though, Amazon is convenient. For me, I was mostly looking for a way to establish some credit, and a store card is a good way to start because it's easier to get approved. Amazon made sense because I do tend to purchase from them, plus my prime subscription was $49 for the entire year. And like I said, since I now have to drive at least 10 minutes to go to Target and Best Buy, it just makes sense to get Amazon and have the shipping benefits. I save time and gas money. Not to mention their prices do tend to be excellent. The sunglasses I bought are retailed at $40. They were $20 on Amazon, plus I had a $10 gift card. So much of what I buy I also can't find elsewhere. I have a power pack I've never seen in stores, and ones that are comparable to mine are $20 more than what I paid. The sunscreen we like we also can only find online and at Disney.