I am using Zen Cart and have been very happy with it -
Etch 'n Stitch - Custom Embroidering & Engraving, Corporate Identification, then click on "Shop at Etch 'n Stitch Online". It's a very versatile package, the online user forum is incredible, and it's FREE! However, I've found that you need a little technical knowledge to customize some of the features. You can find out how to make changes through the forum but, then you may need to change some php code and upload a file back to your server.
Included in the forum are many add-on features, built by ZC users. If you are a geek (like me) and can build some add-on's, you are encouraged to share them.
ZC allows you to categorize your products, display them with images of both the product and the options (i.e. color swatches, etc.) and also keep track of your inventory. There is an add-on to sync up with Quickbooks but, It's only for orders, not inventory. If you have a retail store (like I do), you'll need to do periodic inventory updates on ZC to stay current.
Please browse my site listed above and I'll be glad to provide any more information, if needed.
BTW, nobody asked but, I'd like to also recommend PHPList for your newsletter package. It is also free and very easy to get up and running.
Randy Bernstein
Etch 'n Stitch.com