I have done some hybris projects even with hybris 3.X. When I did my first training, I was told that it is best practice to always define your own product type (MyProjectProduct which has additional attributes). I was told the same thing when I did a refresh commerce training for 5.0.0.
I know that this would be the way to go, if you would run a shop with different product types (like appareal and electronics in the same hybris instance).
But what if you only have one product type? I did some internal training of developers and when I was reading the trails in the wiki. It appears that hybris philosophy has changed. Nowadays the recommended way would be to extended the product instead of creating a new type.
Is this assumption true? What are you doing in your project? What do you do with other types like variants or AbstractOrder(Entry)?