The current trending e-commerce websites using Drupal as their CMS, they choose either Ubercart and Drupal Commerce for their store setup. Both are powerful tools to build your store and both have their own pros and cons.
It is easy to configure and has simplified content management. It will be perfect for smaller store setups.
While in drupal commerce you have to create a product in one place, create a product display in another place and create a discount in another place again. But you can do it all in the same place in Ubercart. Many people just want to click "Create new", and then input whatever they want and so ubercart is more preferable for those. Here every product created are nodes and product variations (color, size, etc.) which are treated as "attributes" of the product, and the options added to the product are still references a single product node.
It's developed for Drupal 7 and its higher versions of it and it does not support Drupal 6. If you have a website that is only going to be an online store with basic functionality, things are very easy with Drupal Commerce. It is far more flexible, standardly customizable and powerful than ubercart. But it requires time and effort to tap that. It's the module for the people who ready do a small configuration in their site to do achieve that Ubercart can't do.