Supermarkets waste enormous quantities of perfectly edible food as a result of the sell-by dates.
Or from an alternative perspective, the generate huge amounts of income by making people think they need to replace perfectly good food.
Less cynically, the exact wording makes a difference. If I recall right...
'Best before'... might mean the food is perfectly safe long after the date. The flavour or texture may degrade, but it won't poison you.
'use by'... may be more serious, and might mean the food becomes dangerous to eat and might indeed poison you. I personally never exceed 'use by' dates, at least not at weekends when the NHS is closed.
'sell by'... hmmm, not sure. Taken literally, it implies nothing at all about flavour, texture or poisonous potential. More like a contractual sales objective for the distributors?