As for open source shopping carts, you should have some knowledge about the technolodies they need to build your online store.
And X-cart or other paid shopping carts are out of the box and easy to use.
My favorites at the moment as Magento (Open source) and X-Cart (Paid) as they seem to offer the most professional user experience of all the systems currently available. In fact I'm currently developing two Magento sites so I think the clients must feel that way too.
i'm currently skinning a comersus system for a client.....easy to style and appears to have the complete functionality a SME would require.....its big downfall is it's lack of EDI but that could be developed separately quite easily
My vote goes to Magento. It really has all the features a user could wish for and it's really flexible to modify (for developers who know what they're doing )
Another vote for Magento. I have just been using it on a project and the level of out of the box functionality is very good and so far it seems easy to add new features to. Changing the design of the site might be too complicated for someone who doesn't have web development experience but that is true of most of the systems if you want to make anything more than very basic changes.
I have used osCommerce in the past but the big problem with it is the way adding functionality works. Instead of having a module installation system any changes to the site need to be made to the core code. This means making laborious line by line changes to lots of different files for every addition as well as conflicts between contributions if they affect the same code. It also makes it very difficult to upgrade as new versions come out as all of the customisation work would have to be redone.
I'm launching a Magento website at some point this month. The newest patch that was released (1.2.1) seems to have fixed a few important bugs and added some useful features.