I'm a firm believer in using the right tool for the job. If I have an egg to crack I know I will get better results with a fork or the edge of the bowl than I will with a hammer. Of course a hammer can crack an egg but it will be messy and leave you with more egg on the floor than in the bowl.
So why use joomla to build a shop?
Joomla is software to create, build and manage a website it is not software to build an ecommerce site. (Note I am talking about true shopping sites and not simply web sites that require some simple ecommerce functionality)
If you need the content management features of joomla (and I'm not sure all shops do) then what is wrong with having two separate and distinct sites e.g. http://www.company.com and http://shop.company.com. Use joomla on the CMS site and a true ecommerce application on the shop.
OK - so I can hear you all screaming at me that you can build a shop in joomla using VirtueMart.
You can but why would you want to.
Spend any time with VirtueMart and you quickly realise that it really is little more than another application that has been crudely included into joomla. It is unintuitive, clunky, very slow and suffers from compromises made to shoehorn it into joomla.
As far as I can tell the only advantage to including your shop inside your joomla site is to share one common usertable and to perhaps use a plugin to allow you to link directly to a shop item from a content item.
I rarely see the need to have a login on a web site and it is easy to write a plugin linking to an external shop site.
I choose joomla to build content rich web sites because I truly believe that it is the best tool for the job. It is not the right tool for an ecommerce site so using something better.
I've spent some time in the last few weeks looking at both Magento and OpenCart and building a feature rich ecommerce site with either of them is as intuitive as building a content site with joomla.