more fields on a content type or more content types
My personal preference is to limit the amount of content types, for user friendly reasons. Clients can get confused when you throw a whole list of content types at them. Unless your products are very different to each other (car, washing machine, house), I'd go for the fields.

Maybe the Field Group module can help to keep things tidy in the backend part of a product node.