There are always new products with different types of features. EAV lets you define this as data. This is what makes EAV good for product attributes. For everything else you should start with tables in Third Normal Form (3NF).
No, the opposite is true for product catalog queries. For example if you didn't use EAV and you wanted to get a list of products that were colour="Blue" you might have to write something like this:
select * from TSHIRTS where COLOUR='BLUE' UNION ALL select * from PANTS where COLOUR='BLUE' union all ... (and so forth for every type of product)
@PhpBeginner Why do you say that performance problems are inevitable using EAV for a product catalog? I don't think that is a fair comment. Please be specific about what will perform worse? This kind of generalization is precisely what I'm talking about in this answer. EAV is evil for most applications. Online product catalogs is not one of them. In this specific scenario you cannot say
"EAV is slow", or "EAV makes your queries complicated", or "EAV removes meaning from the data" or any of the other things that are usually valid criticisms of EAV
Everything is a design choice. There are always trade-offs. You have to understand what the trade-offs are and make the best choice for your situation.
Why do you think EAV will have performance problems? Is there some specific issue you are worried about or is it just that everyone always says "EAV is slow"?
EAV in a relational database will be slower than flat tables, as long as you can predict in advance what columns you will be querying. EAV in a product catalog has predictable columns. Don't worry about there being more rows. Relational database systems are built to handle lots of rows easily and quickly.
If you know all of the product types and all of their features in advance, then you can use a 3NF model. But you said that the user of the system can't predict this. I'll post an answer to the question on DBA.SE.
I hope that I am the father of "use common sense" and "understand what you're doing" rather than just following rules of thumb without understanding why that rule was established. I'm afraid I have to drop off of chat now. I've got a series of meetings to get to. Good luck with your project. I'll try to comment on any other questions you might have later tonight if you have them.