Zu den Hauptursachen für Hungersnöte zählen sowohl umweltbedingte als auch politische Faktoren. Während die überwiegende Mehrheit der Hungersnöte im Laufe der Geschichte durch unerwartete Umweltprobleme verursacht wurde, wurden viele durch politisches Missmanagement verursacht. In der jüngeren Geschichte wurden Hungersnöte häufig durch regionale Unruhen und die Fehlallokation von Ressourcen durch totalitäre Regierungen verursacht.
Einige der berüchtigtsten Hungersnöte des 20. Jahrhunderts wurden durch offen politische Aktionen verursacht. Laut Slate war die Große chinesische Hungersnot von 1958 bis 1961 ein direktes Ergebnis der katastrophalen Kampagne des Führers Mao Zedong "Großer Sprung nach vorne", ein Versuch, das Land schnell von einer Agrar- zu einer Industriegesellschaft zu verwandeln. Ebenso wird der ukrainische "Holodomor" von 1932 bis 1933, bei dem zwischen 2,4 und 7,5 Millionen Ukrainer getötet wurden, weithin als ein vorsätzlicher Völkermordversuch von Joseph Stalin wahrgenommen. Sogar die irische Kartoffel-Hungersnot von 1845 bis 1852, die angeblich durch die Getreidekrankheit Kartoffelfäule verursacht wurde, wurde durch die Regierungspolitik der britischen Kolonialherren stark verschärft. Die jüngsten Hungersnöte in vielen afrikanischen Ländern sind auch Beispiele für ein Zusammentreffen von politischen und ökologischen Faktoren, wodurch Dürren oft durch politische Zwietracht und schlechte Regierungspolitik verschärft wurden.
Neben politischen Faktoren wurden viele Hungersnöte hauptsächlich durch Umweltfaktoren verursacht. Von Dürren über zu lange Regenzeiten bis hin zu Pflanzenkrankheiten wurden die meisten historischen Hungersnöte durch Faktoren verursacht, die schwer, wenn nicht unmöglich zu verhindern waren.