I am currently developing an online store and using OpenCart. It is quite different from osCommerce as it uses MVC architecture but it is also modular so core files (generally) don’t need to be modified.
Some OpenCart Extensions do require modifying core files and this is obviously bad practice and will make upgrades to the core code difficult.
One of the OpenCart developers, Qphoria, developed an amazing add-on that allows developers virtually modify files, including core files, with XML files. vQmod is a Virtual File Modification System. It is fantastic!
Instead of modifying core files to include an extension, you use vqmod xml file to make the changes. It’s a bit more initial work but definitely worth it.
I am using Facebook Like button extension to put a Facebook Like button on the product pages. It required modifying the product page’s template file. This would make theme upgrades painful and error prone so in steps vQmod.