Really old way I did things: No cart at all, used matrix of buy-it-now buttons.
Old cart: Lightbox style (gray out the background, box in the middle), ajax shopping cart which takes two seconds to open and is a little cluttered in some use cases. Beats above option by lots.
New cart: Lightbox, feels-like-AJAX (everything is pre-loaded so that opening a new DIV or recalculating prices is essentially instantaneous -- no HTTP request involved), instantaneous response and no clutter. Beats old cart by lots.
Old cart: Opens new page, standard cart design.
New cart: Lightbox style (gray out the background, box in the middle), ajax shopping cart.