Date codes on food product labelling depends upon the type of products whether high risk,low risk and products with short or long shelf life.
High risk products like infant foods and canned foods require expiry dates and products with short shelf life like say packages containing Bread,pizza.khoa, doughnuts ,uncanned fruits and vegetables require Use by dates as it depends whether you are storing these foods under refrigeration or at room temperatures.
Also products with long shelf life and stable products require recommended to be used before dates say like artificial sweeteners etc.
Best before dates are for products which are normally safe but have quality issues beyond best before dates say like chocolates,biscuits which may go rancid develop off flavors and off taste..
Expiry dates are not applicable to wines ,spirits, liquors etc as these product produce better flavors as they age.