第一,地理原因:
蜀汉的地形险要易守难攻,但是守住了自己,却也没有办法进取中原,要越过秦岭,道路艰难,后勤很难跟上。
第二,军事原因:
蜀汉军善于山地作战,翻过秦岭,就到了关中平原上,不适合蜀汉军队;蜀汉人口较少,兵力对曹魏并不是太占优势,打持久战吃亏;曹魏军队多是善于平原作战的步骑混合联军,在关中平原上有着机动优势,就算蜀汉军能占领多座城池,也必须分兵去守,曹魏军队可以各个击破。第三,政治原因:
曹魏方面的政治局面较为稳固,施行的九品中正制使得中原地区士族一片拥护。经过东汉末年的军阀混战,天下民心思安,北伐并不是顺应民意的举动;蜀汉方面国内的政治派别林立,矛盾重重,使得对于北伐的态度不一,造成的后方国内的各派势力对于北伐的支持度不一;蜀汉只有益州一地,在当时属于经济欠发达地区,而曹魏的地方都是当时经济发达地区;蜀汉南方的少数民族问题严重,蜀汉很大程度受南方问题的牵制。