I think Amazon are incredible, especially the Prime service.
Whilst I appreciate that they should provide what they advertise, I'm willing to give them a bit more breathing room at this time of year. The number of packages flying around the place must be astronomical, and if something I order ends up taking a day longer than I expected I somewhat chalk it up to being my own silly fault for ordering things in mid-late December.
All I would add is that for as many times as I've had things late, I've had twice the amount of things that were delivered before the expected date, and on the few occasions where there's been a real screw up their customer service has been exemplary. Far better than John Lewis for example, who I used to have as the gold standard.
However, like I said, if they advertise the service they should provide it. Frankly I think we've been a bit spoiled by Amazon over the years. Nowadays if I'm using a different site and see they charge £3.99 delivery (3-5 days) I'm outraged!