這主要是運輸問題。
打仗的地方往往不是能夠進行有效統治的區域,所以在這個區域政府是無法有效征集糧草的,需要的糧草必須從后方轉運。轉運糧食就需要比打仗更多的人。
例如拿破侖進攻俄羅斯的時候,率領了六十多萬大軍出發,真正在前線打仗的還不到十萬人,剩下的五十多萬都是沿路守衛補給線的(負責運糧食的人可能都沒有計算在內,但是數量只會更多)。
淮海戰役的時候,解放軍出動了兩個野戰軍共六十萬人,后方負責運糧的老百姓有四五百萬之多。這還是因為淮河流域適合水運,后期水面封凍老百姓就滑冰橇運輸,效率遠遠超過普通陸運,否則根本不夠。
那麼問題來了,這些運糧食的人自己要不要吃飯?答案是:要!而且還必須由政府來管飯 —— 誰讓你要打仗的?俗話說「皇帝不差餓兵」,皇帝也不能差餓肚子的人給兵運糧食。
實際上,這些運糧食的人吃掉的糧食比前線的士兵要多得多。
《孫子兵法》里面也提到,后方運糧耗費巨大,運上去一鐘糧食,需要消耗二十鐘。也就是說,即便在春秋時期,多數戰爭只是在兩個相鄰的地級(縣級)市之間展開,糧食的消耗也是平時的二十倍。而漢武帝北擊匈奴,為了給衛青霍去病的部隊運糧食,運一擔糧食在路上要消耗兩百擔。這就是為什麼以漢朝國力的強盛,打了幾次匈奴之后全國的戶籍人口少了一半。
當然,其實這里面說到底是個財政問題。因為中央財政是有限的,而戰爭基本上完全是由中央財政負擔。王朝到后期中央財政的稅收往往會大幅度縮水,地方豪強隱瞞大量土地和人口,導致中央的稅源越來越敗壞,最終戰爭能力極度退化導致滅亡。