Specially German shop owners need to override the carts views completely. With the standard views only, it is impossible to create a legal contract with a customer due to German laws.
If you are experienced with joomla development, don't dread to use it. But it's not a plug and play solution!
I think you are misinformed about the new German law of august 2012. There is a lot of misinformation in the net. The only thing you have usually to add for B2C is the "Widerrufsbelehrung", because other countries in the world have only the TOS checkbox. VM2 is a global product and we cannot provide solutions for every country out of the box. For more information you should join this forum (in german) http://www.virtuemart.de/forum.php#virtuemart-2
I use it for a shop with highly configurable products. Sometimes a product cannot be produced as ordered. So I may adjust the order and send a new invoice with VMinvoice.
It will create invoices and delivery notices automatically and sends it on multiple defined order status.
But there is one point i really dislike: You cannot choose different order status for invoices and delivery notices.
If it is well configured, the extension works fine. The configuration could be laid out a bit more clearly.
In older versions it produced sometimes a lot of nonsense-urls without a reproducible reason. This became much better in versions 3 and 4. But maybe it's a configurational problem.
Creating a extensions plugin for your own extensions is quite easy and works fine.
I recommend JoomSEF for all who have to manage a lot of site URLs.