I would say it's intended that you use Craft's in-built system for product classification/hierachy/taxonomy - i.e. Categories.
Categories have support for custom fields of course, thus you can add backend manageable category images easily using an assets field, and you can also leverage all the things categories can offer without requiring anything extra from Commerce. And any plugins etc. that work with Categories then work out of the box with your products, too. Indeed, with Craft's neat separation of Category Groups, this still allows for good separation of your products from the rest of your data (whatever that might be, blogs etc).
I would recommend Product Types instead for managing separation of data concerns more so than product classification. That is to say, if you have products requiring clearly different data (e.g. your sell monitors, and printers - these clearly require different lists of specifications) - that's a good use of Product Types allowing you to have the specific fields you need for these things nicely separated.
In addition to specific product types where your data determines you need them, we find it handy to have generic
product with variant types to cover those sundry things that don't fit neatly into the various data separations we've made - with these things having just the core fields that all your products share.