Drupal Commerce
Drupal Commerce is a dedicated framework intended to add ecommerce capabilities to the Drupal content management system. Its association with a major CMS makes integrating a domain's publicity and payment streams into content channels easier and cheaper, since most of the potential pitfalls of integration have been mapped and solved in advance.
A robust inventory framework is available for Drupal 7 (the native version equivalent for Drupal Commerce), with maturing support for Drupal 8. Drupal Commerce is better able to accommodate 'abstract' or non-standard inventory items than Magento, whose evolving model is still oriented toward physical and digital products.
Drupal Commerce offers a huge amount of configurability and flexibility in the way that ecommerce content appears within traffic-driven content on a Drupal site—a challenge that can mean significant development costs in other 'satellite' ecommerce platforms, such as Magento.
On the negative side, Drupal itself (rather than Drupal Commerce specifically) retains a deserved reputation, along with Laravel, as ‘a developer's CMS'—a set of tools with which experts can build flexible CMS solutions, rather than a 'plug and play' CMS such as WordPress or Joomla.
Although customizing WordPress and Joomla generally requires third-party extensions and a moderate understanding of PHP, customizing Drupal Commerce and Drupal into a viable ecommerce solution will require actual developers. To boot, developer talent for Drupal and Drupal Commerce is often quite scarce relative to other mainstream open-source PHP-based frameworks.
Output from Drupal Commerce can adopt the theme and styling of a Drupal site with less development time and micro-management in comparison to 'external' ecommerce frameworks. Even so, some extra work is usually required.
Drupal Commerce offers 14 starter themes (coincidentally exactly the same number as Magento) as a point of departure for your own designs. In truth, theme design is likely to constitute a commercial investment with either Drupal Commerce or Magento.
It's a very short journey from the free open-source functionality of a base install to the need to budget for both developers and theme designers. In this sense, one could view Drupal's 'free' ecommerce framework as a loss-leader or enticement into fairly significant development costs—a model that is at least equally applicable to Magento.
Magento
Magento operates entirely as a third-party ecommerce system. It is intended to be wired into any usable CMS that has a content template suitable for displaying inventory. It can also be deployed as a sole installation, and recently has begun to offer various native and third-party options to develop SEO-optimized content streams without the use of a secondary CMS.
Magento's lack of a 'native' host CMS brings both advantages and disadvantages. On the positive side, Magento presents a flexible and simply-modeled inventory framework that is easy to understand and manage.
Negatively, its output is fairly rigid and row-based, in line with more 'traditional' ecommerce paradigms. Magento's granular listing style can make it more difficult, in comparison to Drupal Commerce, to integrate a variety of products that share a common brand element (such as a DVD, a t-shirt featuring the DVD movie branding, and a related subscription or special offer) into a single purchase opportunity.
Since Magento is expecting to accommodate itself to a variety of possible host environments, it offers a much higher degree of GUI-driven customizability than Drupal Commerce. It also offers more out-of-the-box functionality than is available with Drupal Commerce.
Magento Commerce now has a dedicated CMS module, offering drag-and-drop functionality and block-based post building, similar to the current version of WordPress. Although it's a slightly restricted offering in comparison to a full-fledged content management solution, it does remove an entire tier of update and security management requirements from a content-driven ecommerce site.