Can anyone state what is the difference between
Mage::getSingleton('checkout/session');
and
Mage::getSingleton('checkout/cart');
Mage::getSingleton('checkout/cart') is Shopping cart model class.It's create Varien_Object. Mage::getSingleton('checkout/session') is session class with 'checkout' namespace. This stores information related to the quote, guest or not (cart totals, items, checkout progress)
Mage::getSingleton('checkout/cart') class depends on Mage::getSingleton('checkout/session') when adding/updating/deleting product.