Cart stores items before checkout. Persistent (logged-in users) vs session-based (guests). Merge carts on login.
Data model: cart_id, user_id, items (product_id, quantity, price snapshot). Price at add-time or checkout-time? Usually checkout to show current price. Reserve inventory at cart add vs checkout? Usually checkout to avoid phantom inventory. Cart expiration for abandoned carts.