Disclaimer I help develop commerce (commit patches) from time to time and maintain a few commerce modules, so I might be a bit biased in my opinions
I haven't done ecommerce outside of Drupal, but I have extensive experience with both (Ubercart) Drupal 6 and (Drupal commerce) Drupal 7.
Drupal commerce has a lot of great advanced both for developers and site builders.
Since it has heavy views and rules integration, it makes it very easy to configure the modules to do what you want to do. With Rules you can add a lot of custom logic like discounts. The tax support is also very good already and is very easy to customize for your location.
The only things that's missing with Drupal commerce right now is the host of modules for various stuff compared to ubercart Drupal 6. But this is not as bad as it might sound, and there are a lot of modules being created in the community around commerce.
For developers the experience developing with commerce is the best I've tried for a long time. I started when commerce was still in alpha and have had to deal with API's chaining etc. This has all stabilized now, and the result is very impressive. You can tell that commerce is built from the ground up by people who know how commerce should be made with Drupal. It's very flexible and there's no inconstancy and strange hacks like there is in ubercart. One area in particular where there is a big difference is the price handling system is very cleverly built. Commerce is built to handle multi currency unlike ubercart which I've found to be a major pain.
All in all I find that commerce is more powerful out of the box using only the UI, and the code you write is in my experience generally more clean and easier to maintain. It doesn't have any legacy code, which is easy to see and it is built to take advantage of all the new Drupal 7 features.