I can see experts from hybris are contradicting for the preferred approach to follow. hybris documentation - https://wiki.hybris.com/display/release5/items.xml#items.xml-extendingtypes says creating a subtype is preferred. I am also following the same approach in past implementations but now it looks like a debatable topic. I think adding attributes directly to hybris base type is OK for a single storefront scenario and where very few attributes needs to be added to the base hybris type but will definitely cause issues in case of multiple storefronts with own product, customer and B2BUnit data. Also consider the performance side, wherever we will query base type all the items will be fetched however if we have subtyped the base type based on requirements and storefronts you can just query a particular sub type rather than always querying base type. And this will also add issue for platform migration. I think it will be helpful if core hybris platform architects can provide inputs here and suggest preferred approach.