Virtuemart is an extremely powerful shopping system, you will find lots of positive things about it all over the place so I am going to focus on the bits you may not find elsewhere. Virtumart is far from perfect, there are a number of weird bugs (such as adding a shipper, select lists accepting empty values when marked compulsory and breaking when you add items to them, the width on custom fields not being respected on the front end the list goes on). If you are working with a picky client be prepared for a lot of bugfixing on stuff you would expect to work straight up. It is also very complex to hack as pointed out by others below. Sometimes you will have to follow 5 or 6 files to find one bit of echoed HTML.
There are also some glaring ommissions such as insufficient options for handling Australian GST (hack available buried in the forums for this) the inability to set shipping rates per product (once again there is a 3rd party module that I found buried in the forums away that does this see http://forum.virtuemart.net/index.php?topic=58784.0
This brings me to another issue which is the fact that the forums are used for extensions much more than the actual extensions area so you have to trowl through the forums and if you are lucky you will find hacks and extensions buried in there with very little quality control and an unsuitable structure for handling extensions. The forums are also loaded with people who have had exactly the same problems as you but whos posts have had hundreds of views but no responses.
I will continue using virtuemart of course and I think now I have probably worked out the majority of the bugs but I wanted to post this so others are aware of it and hopfully the developer will respond.