Stay away from Magento! Its a nightmare! Its full of bugs and you must update it every week when a new patch comes out. Also when you update (witch isn't an easy task) some features may break. Performance is very poor (unless you have few dedicated servers just for your site).
I think CS cart is the best solution. There is a free version that works very good for small and mid businesses. If you need more you can get the pro version (295$) and offers tons of more features from the other "stock" shopping carts. PrestaShop and OpenCart may look "free" but their plugins are very expensive. So better pay for a CScart license and get all of the features at once.