这是一个很复杂的问题,涉及到方方面面,并非简单的一两个原因就能解答的。
第一、古代北方有人口优势
中华文明发源于黄河流域,因此在很长的时间内北方都是中国的中心,南方始终被认为是南蛮之地,人烟稀少。就算到了现代,因为经济原因,北方人口向南方人口流动,导致南方人口多于北方,但如果刨除西北西南地区,仅算历代南征北伐的主要参与地区,南北势力人口依然是半斤八两。
在冷兵器的古代,人口就是兵员,就是实力的代表。我们看历代南征兵力,曹魏灭蜀汉大约十八万,远远超过蜀汉全国十万出头的兵力;西晋灭东吴大约20万,和东吴当时全国所有兵力大致相当;淝水之战前秦80万兵力,东晋仅8万;隋灭陈水陆兵力共50万,陈朝兵力一般认为在十万到二十五万之间;宋灭南唐动用兵力十余万,南唐投入兵力大概二十几万,少数兵力占优,但是宋军长期作战都是精兵,南唐军队在柴荣几次南征中基本已经被打残;
再看几次北伐的兵力,诸葛亮历次北伐兵力最多不超过十万,并且东吴都没有有力的配合,东吴伐魏规模最大也没有超过十万,而当时曹魏兵力不少于50万,其中骑兵就有十余万;祖狄北伐东晋甚至没有兵力支持,完全依靠自行招募的两千余人和北方义军配合;桓温历次北伐兵力最多不超过五万;刘裕北伐没有详细记载,这里也不做统计了,但在历次战斗中可以看出,刘裕的兵力和素质超过单个北方势力,但依然不及北方整体;
中国古代历次北方的兵力都远远大于南方,是导致北伐总是失利的主要原因,直到南方人口上升,才有所好转。朱元璋北伐成功,蒋介石北伐成功也都有南方人口开始大量增长的因素在。
第二、兵员质量
北方平原较多,并且饮食上以肉食较多,南方多山地丘陵,饮食多以蔬菜鱼虾,导致了北方人的身高体力整体要好于南方人,这种现象即使到现在依然明显。
另外,应了近山者仁,近水者智这句话,北方人多粗狂豪爽,性格相对单纯,容易听从命令,而南方人性格比较精明圆滑,喜欢钻漏洞。本来是正常的性格特点,但是在军队中,南方人的性格就是致命的。
如明朝时,虽然卫所颓废,但北方主要存在的还只是吃空饷的现象,到了南方却变成了全员走私经商,南方卫所兵像商人更像士兵。所以,戚继光抗倭时发现南方兵员短时间内根本无法形成战斗力,直到发现民风彪悍和北方相似的义乌矿工作为兵员。
第三、经济实力
中国古代的气温要高于现代,商周时期黄河流域甚至还生活着大量的大象和犀牛。这让古代的北方气候刚刚合适,所以早期中国汉中地区是天下粮仓,河套地区水草丰茂。只要占领这些地区,每年的产出就能轻松的养活大军。
相对的南方温热潮湿,和现在的越南等地差不多,是烟瘴之地,瘟疫横行。永嘉南渡后,资源严重不足,北方门阀不仅要和南方士族争抢土地,还要往浙江南方,广州等地开拓荒地才能养活自己。
南方的综合经济实力要赶超北方,还是要等到宋元之后,一方面之前多次的南迁发展了南方经济,另一方面全球气温下降,使得现在南方的气温比办法更适合种植作物。南方要被称为鱼米之乡,还要到明清时期。
即使如此,南方多山多丘陵,依然有很多地方不适合种植。如福建、浙江等地都有“七山二水一分田”的说法,古代据说还有溺死幼子才能养活一家人的风俗。所以福建浙江地区经商氛围浓厚,这是因为种田根本养活不了一家人。
古代南方的情况养活自己都难,更不要说养活大量的军队了。对了古代发配犯人往往都是往南方送,也可以间接知道当时南方情况。
第四、利益不同
从南征和北伐的背景来说,两者对统治阶级来说有明显的利益不同,导致了南征的成功率远远低于北伐。
对于北伐来说,一方面是为了完成全国的统一,另一方面是历代的新兴贵族积累战功,瓜分资源的好目标。无数年下来,中原地区资源早被传统门阀家族垄断,即使改朝换代,空出来的资源依然有限,那些新兴的士族,只能将目光盯向南方。
而北伐对古人来说,是一大群中原地区竞争的失败者跑到了南方,抢夺了当地人的资源,还要当地人出钱出粮甚至用自己的生命为他们夺回资源。胜利后,果实由南渡的北人享用,自己却没有任何收益。这种吃力不讨好的事情,导致了南渡集团大多主战,本土集团大多主和,双方有不可调和的矛盾,无法做到上下一心。
这是历次北伐常常容易被后勤问题掣肘无法成功的主要原因。