As others have indicated, a 'Use By' date signifies that the product is likely to become unsafe to consume shortly after that date. It's illegal to sell (or even to give away) foods which are past a 'Use By' date.
A 'Best Before' date signifies that there might be some degradation in the quality of the food (e.g. poorer taste or texture) after that date, but there will be no risk to health if you consume the food. It's perfectly legal to sell food which is past a 'Best Before' date (as long as the vendor doesn't pretend that the food is still 'fresh').
Shops and market stalls which specialise in selling 'short-dated' or 'out of date' foods often include chocolates within their ranges. I've tried them and found that they taste perfect for a month or two after the date on the box. Thereafter the chocolates can acquire a 'powdery' texture but they're probably OK to eat for several months more.
Your father was correct in stating that canned foods can remain edible for decades. However there might be a very small degradation in quality as each year goes by. I'll happily eat canned goods which are a year or two out of date but I've tried some canned foods which have been over 5 years old and the flavour definitely wasn't as good as it should have been.
Incidentally, canned beer doesn't keep too well beyond the date on the can. I've opened a can, from the back of the fridge, which was a couple of years out of date. Most of the contents of the can spurted onto the ceiling. The remainder of the beer was flat and tasteless.
Chris