I can also vouch for magento. There are so many things you can do with it (if you know how to do it). But it's easy to learn. The only problem is the speed. You might want to get a high end share hosting or dedicated server depending on how serious you are going about. Speed affects SEO of course.
Alternatively, you can use ZenCart. The code is a bit messy in my opinion and you need to install a tons of modules to get what you want.