Magento is opensource, and you probably need some knowledge to get it up and running, and skinned. Some functionality will have to be added with extra "modules" that you add onto the Magento package. Support is handled via free community forums. You have to provide your own billing solution aswell (Authorize.net, Paypal, etc..). This may require an additional module depending on which solution you choose. It's virtually "free" with the exception of your sweat equity and the transaction fees you pay to your billing solution.
Shopify is an online hosted solution. A complete package with robust functionality "out of the box" and 24x7 tech support. They handle the transactions for you, so you don't need a billing solution. There is a monthly fee associated with Shopify.com as well as transaction fees when you sell something.