We often get asked the difference between a cross-sell and an upsell in Magento. Linda Bustos of Get Elastic posted an excellent article explaining the difference. This is well worth a read.
As a footnote, Magento also supports “Related Products” in addition to cross-sells and upsells. They are typically cross-sells however they can be positioned on the product page as opposed to the cart page. In most of our sites we omit this feature, as we feel you can sometimes go overboard with cross-selling which detracts from overall usability. However on some occasions cross-sells on a product page may be beneficial, or even preferential to having them on the cart page.