So why is expired beer on the shelves and sold, regularly?
Beer expires. It does not go rotten or spoiled, but it does become oxidized and skunky. Oxidation is caused by exposure to oxygen and usually described as tasting like soggy cardboard. Oxidation occurs more quickly when the beer is exposed to high temperatures. No matter the sophistication of the packaging equipment, Oxidation simply happens. Skunk smelling beer is when it has been exposed to Ultraviolet light, which causes the isohumulones (hop particles) to be ripped apart and bind with sulfur to cause the off flavor/aroma. Brown bottles filter out more Ultraviolet light than green bottles, while green bottles filter out more light than clear bottles, Cans simply filter all light making them a superior packaging vessel.
No offense to Mamma Mia, I'm sure it is a fine product, but in my local beer stores, it would be likely to sit on the shelf beyond is 'best by' date.
I have made the mistake of not checking dates on beer more times than I care to count. In fact 2 days ago I purchased a Samuel Smith Oatmeal Stout, which is my all time favorite Oatmeal Stout. The BJCP Style Guide lists it first in the list of commercial examples. It is truly world class, unless, of course, it was manufactured a year ago, sent to the United States on a ship, sat in warm warehouses, and put on the local beer store's shelf to age under the bright glow of florescent lighting.
Another of the aged beer problems is the breweries seem to think it's funny or somehow clever to print the dates in a code. Another discrepancy is whether that coded date is a 'bottled on' or a 'best by/before' date. When looking at the base of the bottle's neck I can see a code: SA04-gibberish, looks like an M... The cure, A fantastic site: Fresh Beer Only. It is the consumer's decoder ring for cryptic beer date codes. (where is the Android APP?)
Samuel Smith: Uses a bottling date. Ex.: SA22J1. The ''S'' is irrelevant, the ''A'' stands for the month (A=Jan., B=Feb., etc...), the ''22'' stands for the date of the month, the ''J'' is the year (10th letter of the alphabet so 2010) and the last digit is also irrelevant.
My bottle says SA04M (?) which translates to January 4, 2013... If my bottle of Oatmeal Stout had been kept in the dark and temperature controlled it probably would have been a great beer, but, judging from the age, it probably had been sitting on the shelf under fluorescent lights for several months, and it was in fact skunky.
On average, milk is roughly 3.50 USD per gallon. Beer is, at a minimum, over 10.00 USD per gallon, so next time we buy beer check the dates. Try to find something before the 'best before' date. Shoot for less than 6 months old, which is not to say it has not been mishandled by exposure to temperature extremes and light.