I used to focus on traditional desktop development (VB, VBA for Access, SQL Server) but have moved over to web development over the last four years or so.
After a floundering around for year writing my own straight PHP sites (standard CMS and basic shopping cart sites, all custom built), I discovered CI and haven’t looked back (actually I came across CakePHP first, but didn’t like its restrictive, overly-disciplined nature).
Since CI, I’ve created a CMS/resource portal community site for a national smoking quitline, a restaurant on-line ordering and CMS site, and several other custom-built CMS sites.
Over the last 12 months, I have built my own ecommerce shopping cart framework (based on CI) and have begun using it to develop bespoke solutions for clients. This came out of frustration of the currently available open source solutions (ZenCart, OSCommerce, Magento, WP based carts, etc) where it was very difficult to develop sites that actually looked different from each other. Magento is the best out of the bunch (I based a lot of my framework on it) but it is still a pain to customise/skin and has some key features missing (check their forums).
My sincere advice is to spend a reasonable amount of time building your own shopping cart framework (it took me 8 months for my first version) rather than going for an open source solution. You will know your own site much more intimately and have full control over customisation and extending functionality.