Drupal is a powerful and flexible framework for building virtually any kind of website. Below are some circumstances in which Drupal is a particularly compelling choice. Plenty of websites publish 'structured data' - not just in the form of products. A project list, testimonials, staff lists and archives are obvious examples. What a Drupal CMS can also do is provide simplified ways in which this information can be added to your website and routed through to specific locations within the site, with all links and cross-references properly maintained. It requires your website to be equipped with the means to receive information of a specified type, along with the logic to process it.\ Drupal is Open Source. Drupal is open source software maintained and developed by a community of over 1,000,000 users and developers. It’s distributed under the terms of the GNU General Public License (or “GPL”), which means anyone is free to download it and share it with others. 
1. Drupal Commerce is built from the ground up to integrate with Drupal so there is no need to develop and maintain a custom integration between the two.
2. Security is high with protocols implemented
3. Plenty of professionally developed modules available. Highly scalable and stable.
4. Can handle website with large amount of pages.
5. SEO Friendly Architecture is secure and security updates are timely
6. Writing a custom module is fairly easy and the API is well documented
7. Advanced websites can use Memcache, APC, Varnish etc to further boost their performance.
Drupal Commerce:- Drupal Commerce is built from the ground up to integrate with Drupal.
Drupal Commerce Kickstart:
1. Commerce Kickstart is an installation profile, a particular configuration of Drupal Commerce that aims to offer an easy-to-use cart "out of the box".
2. Without Commerce Kickstart, the developer team themselves say you can easily spend "weeks" trying to configure Drupal Commerce from scratch.
Common Issues faced:
1. The problem with trying to integrate two separate platforms in this way is that any extensions to these platforms are just add-ons and don't fully Integrate with the CMS.There is no need to develop and maintain a custom integration between the two.
2. Drupal Commerce's order management tools are part of the same administration tool-set found in the CMS, so you can view, manage and update orders on the website, and send update notifications via the website (so that the correspondence relating to the order is all kept in once place, which allows an audit trail to be created).
1. Ubercart is a good ecommerce system but users face problems to use the API to integrate with other systems.
2. Most of the ways of connecting with Ubercart fall along these lines:
3. Direct database connections
4. Web services
1. There is a Lack of true objects for products, carts, orders, customers, etc. in a lot of cases.
2. There is Confusion about the use / application of hooks in many modules (i.e. shipping, packaging, pricing, donations, non-physical goods, etc).
3. You are responsible to ensure your merchants and customers are protected from online payment fraud. For more information, we recommend you read the Drupal PCI Compliance white paper maintained by third party ecommerce security experts.
4. There may be shipping calculation and also some coupon calculation problems arise because we try to mix up two things:
1. Normally you have some products in your shopping cart. Each of these items has at least a quantity, a name and a unit price.
2. The other thing you have is so called order totals. Order total rows differ in that way you have only a price and a name. You don't want to show up additional information such as the product attributes or the unit price (only the total)
3. Shipping module is not integrated.
4. No Backend UI (For defining the weights)
5. Order total weights are not respected with some issues with metrics.
6. Tax module is not integrated.
1. If the shopping cart requirements are extremely simple, you can probably go with either, and Ubercart is still probably easier.
2. If the shopping cart requirements are even faintly "unique", you'll need to do a little research and test them both.You want to know you have all the modules you need, for your version of Drupal, before you build.