This is an interesting thread. I have had some experiences with Amazon that go beyond the strictly dollars and cents perspective. I know others have had negative experiences with Amazon, but mine has been almost entirely positive, which is why Amazon Prime is still a great value for me, even at $119.
Last Fall, I was vacationing up in Wisconsin where we had rented a cabin. There was an item I needed right away. I simply changed the delivery address to the cabin and the item showed up 2 days later in rural Wisconsin just the same as if I'd been at home in my Chicago suburb.
I suspect you could do the same thing with Walmart, but I don't have the same confidence that they will meet the delivery window. For example, last month I ordered something from Walmart that did beat Amazon on price. With Amazon Prime, I would have had the item in 2 days, but it was not time sensitive so I was willing to wait.
A week went by and I got a notification from Walmart that my order was delayed and they would let me know when it shipped. It took you a week to let me know you hadn't even shipped my order??
I canceled and made the purchase with Amazon.
Finally, I recently ordered two shirts from Amazon (one was $20, the other $17). I only wanted one of them, and was planning on keeping one and returning the other. I got the order, made my choice (the $17 shirt) and initiated the return process. Amazon immediately credited me the $17. But, then I changed my mind, decided to keep the $20 shirt and return the $17 one. I initiated the revised return, and dropped off the shirt at UPS.
A couple of days later, I noticed that Amazon had not refunded me the $17. I was about to contact them, when I also remembered that they had not charged me for the $20 shirt. It seems that Amazon simply left the charge in place and absorbed the $3 difference.