This is a slightly better question when you know that most food brands in a US grocery store belong to one of a much smaller number (3? 4?) of companies. So the brands are about more than just "people want different kinds of food". They appear to exist for their own sake, independently of how many kinds of food there should be.