That great comics site The Oatmeal has a rant post giving most of my complaints about the usability of shopping carts - or as he describes it, How to make your shopping cart suck less.
I agree with pretty much all of what is said, but with a couple of additions. They apply to cases when required fields are not completed and similar error messages are needed.
A lot of sites nowadays will, after you've pressed the submit button, process the form, sometimes taking several seconds, realise that a required field is missing, and finally reload the page with the error message at the top. Often, with fairly long forms, the page has scrolled down from the top so no message is visible and it can easily be missed. A variant of this is that the page isn't even reloaded; some CSS/JavaScript magic means that the error message appears without reloading. This is even worse, as I've several times thought that the submit button failed to work and continued futilely pressing the button. I've even gone back a page amd tried to start again.
There are some simple, easily-available, JavaScript solutions about that can pop up the error message in a box instead. Why on Earth can't they be used? The user can hardly miss the message when presented in such a way.
I suppose the site designers think that their methods are "cooler". <sigh>