years. Longer if stored in cool, dry conditions. Properly stored grains and legumes can be cooked and eaten several years after storage. Freeze dried food can last up to a half a century. Food storage is like money. You can never have too much.
Three month's food storage simply wouldn't get you through any number of natural or man made disasters. Should it happen today, a moderately large volcanic event (like Tambora or Krakatoa) would cause widespread crop failure and significant, long term disruptions to our global food distribution systems. You probably wouldn't make it without at least a year supply.
Three months worth of food might not even get you though the disruption caused by a large seismic event along the Wasatch Fault.