Because they are attributes of a customer or a product. And many companies these days know a LOT about you as a customer e.g. everything from your age to how likely are you to purchase product X.
It has to be one table because you need to get attributes of a customer very quickly (single digit milliseconds) in order to respond with the next best action e.g. show this advertisement or route them to this call centre person.
And of course this is a database. It's all of the information about a customer in one place.