It is possible that the product module may not have all the functionality that is needed to run an e-commerce site. Modules that deal with products will be able to process product-like nodes if they have all the right data fields as products. In addition, they can have a list of products that other modules will be able to access.
This functionality sprung from the need for product kits. Kits are sets of items that are bought as a unit. At the product view screen, the prices and weights are added together, while each product's attributes are listed for selection. When a kit is added to the cart, each product is added separately, but they are given a unique kit id to allow the display functions to combine them into a single listing. This allows store administrators to prevent customers from changing the products in a kit when a kit has a discounted price, thus getting a better deal than they should. Customers are still able to add and remove kits like other products, but when this feature is enabled, that is all they are able to affect.