There are three things that happen over time with stored food:
1) Contamination-bugs or bacteria
2) Protein breakdown
3) Fat oxidization
With proper canning, contamination is absolutely a minimal risk. With dry stored items, like grains, bugs are a risk mitigated by removal/displacement of oxygen. Anaerobic bacteria can still exist in dry grains, but they generally won't thrive if kept dry and cool, thus pose a minimal risk with proper storage. Improperly canned products are lethal from the day you buy them off the store shelves. Never even think about eating anything from a damaged (the can's seal) or swollen can. All the cooking in the world will not make it safe; the bacteria produces toxins that cannot be destroyed by the heat of cooking.
Protein breakdown occurs in all foods, but the more refined the food, generally the faster this will take place. Wheat stored properly can store for decades, flour and pasta for years. Even if there's no bacteria present, proteins and amino acids deteriorate with time and the result is a loss in vitamins and nutritional value, but the calories remain in tact. With something like canned meat, you're starting out with something that is nutrient rich, but over 4-5 years, you are going to see meaningful losses in the nutrient value. Think about vitamins like a radioactive half-life. Fresh out of the garden probably exceeds what the USDA nutrient list outlines. Canned and on the shelf for a year is probably half that (or less due to high temperature cooking). On the shelves for two years and you cut it in half again. It may not be that linear, but you get the idea.
Fat oxidation is another constant. It's why you can't just buy 5 gallons of oil and be set for life. Generally oils have a lifespan of 18 months to three years, depending on storage conditions and what kind of oils you're starting out with. Some breakdown faster, some are more robust. Frequent changes in temperature will speed oxidation and cooler temperatures will slow oxidation.
I'd say three years is the top end of what I'd target and that would be if I could control the temperature to under 60-65F as a rule. You could probably safely eat it after that, but the taste is likely to deteriorate as the proteins breakdown and the fats oxidize. I've eaten 10 year old MRE meat entrees and while I didn't get sick, I really did not enjoy them. You're still getting calories, but the fats are unusable by the body, the vitamins are gone, and it's just not going to be that appetizing. Will it provide you with calories? Yes, but you can throw out the nutrient values shown on the can after five or ten years, they won't mean much.
*My source on this is from memory from my two semesters of Nutrition and Sports Nutrition in college about five years ago. I had a great professor who had no problem with my unusual questions about long term storage and did her homework when I asked something she didn't know.