I'm not that old, and I can still remember TV ads for Christmas products that said clearly: "Allow 4-6 weeks for delivery." Oh, well ...
There's nothing wrong with online shopping; in fact, I think it's far more superior (and safer - look at Target for example) than going to the physical stores and dealing with jerks who don't know what they're talking about.
The problem is that most people don't plan ahead and don't take into account the items that are on backorder or could potentially sell-out online.
Also, next-day or 2nd-day shipping is overrated and a waste of money. If you get the standard shipping, it usually arrives by Priority Mail. I ordered some vitamins and supplements online on Wed 12/18 and didn't care if they arrived after Christmas. I got them on Mon 12/23.