主要有三个原因:
一、天下时势不同。刘邦出汉中对付的是项羽分封的三秦王(雍王章邯、塞王司马欣、翟王董翳),三秦王以章邯为首,司马欣和董翳原是章邯部将,项羽之所以分封三个王在关中,第一个原因就是让三秦王相互制衡,不至于一家独大。
不要小看项羽,他分封三秦王是有政治目的。
除了三秦王之外,整个北方都是项羽分封的诸侯,诸侯国之间没有从属关系,虽然名义上听从项羽的指挥,但实际上就是乌合之众不堪一击。
《史记 高祖本纪》:二年,汉王东略地,塞王欣、翟王翳、河南王申阳皆降。韩王昌不听,使韩信击破之。
三秦王之中,只有雍王章邯有点战斗力,当章邯败退到废丘被包围后,塞王司马欣、翟王董翳、河南王申阳迅速投降,根本没怎么打。

有点抵抗的就是韩王昌,刘邦派韩王信打败了他。
《史记 高祖本纪》:三月,汉王从临晋渡,魏王豹将兵从。下河内,虏殷王,置河内郡。
刘邦东出关中,渡过黄河,魏王豹投降,到达河内后,擒获司马卬,设置河内郡。
刘邦打这些诸侯王,几乎没啥难度,然后挟制五诸侯一路打到彭城,项羽封在中原的诸侯几乎没人能抵抗刘邦,刘邦进入中原后如入无人之境,仅用了7个月时间,刘邦就从汉中打到了彭城,总行程一千多公里。
直到项羽从齐国抽身,在彭城之战击败刘邦,才形成楚汉战争的拉锯战。
刘邦出汉中的对手实在太弱,除了章邯有一点能力之外,其它的都是乌合之众和墙头草,要么稍微抵抗一下就投降,要么直接当墙头草,像魏王豹、塞王司马欣、翟王董翳看谁强就投靠谁,毫无忠诚可讲。
在这样的形势之下,刘邦能打赢不是很正常。

再看刘备及诸葛亮时期的形势,跟刘邦时期完全不同。
诸葛亮北伐时,北方是统一的曹魏政权,不存在诸侯割据的情况,你说一个统一的政权难打,还是一个诸侯割据的时代难打?
曹魏政权当时正处于巅峰期,占据天下九州,尤其是核心的中原区也在曹魏的控制之下,魏明帝曹叡也算是个明君,手下又有一批精兵强兵,比如曹真、司马懿、张郃等人,这些人能力虽然不如诸葛亮,但是挡住诸葛亮是不成问题的。
诸葛亮攻打关中,曹魏能够调动全国的资源(粮食、兵员、将领)来支持关中,刘邦的对手就做不到这一点,而是各自为战。
就这一点,诸葛亮北伐的难度至少是刘邦北伐的百倍。
二、实力差距巨大。三秦王在巨鹿之战后投降项羽,原本手下有20万军队,这些人根据三秦王从黄河以南打到黄河以北,身经百战,然后这20万人被项羽全部坑杀。

项羽分封三秦王之后,三秦王的实力被严重削弱了,手下的军队来自临时拼凑,有没有战斗力不说,三秦王还被关中百姓恨之入骨。
他们本是秦朝将领,带头投降项羽,导致手下20万军队被坑杀,这些被杀的人中绝大多数是关中子弟,关中百姓能恨三秦王吗?
三秦王在关中是没有统治基础的,这也是项羽分封三秦王在关中的另一个原因,不受百姓支持,就只能听从项羽,否则在关中的统治根基都要动摇。
三秦王根本就不是刘邦的对手,刘邦从彭城一路往西打进关中,成为汉中王,原本那帮农民兄弟一路打出经验来了,可以说是身经百战,这样的军队,刘邦有10万人。
刘邦是当时整个天下实力仅次于项羽的诸侯,除了项羽之外,能跟刘邦对等的诸侯都没有,看起来项羽分封了18个诸侯王,但是能跟刘邦对抗的没有一个。
刘邦以10万精兵北伐三秦王的乌合之众,以强打弱,打赢的概率不是更大吗?
反观诸葛亮,实力就完全倒过来了。

蜀汉全国人口不足百万人,全国军队不足10万人,还要留下一部分军队守卫边境与国内,能够让诸葛亮北伐的军队数量最多不会超过5万人。
曹魏关中军区用来防备诸葛亮的军队都不止10万人,曹魏全国总人口超过400万人,军队数量超过40万人,是蜀汉的数倍。
无论是城池、人口、兵力、人才、武器装备,诸葛亮的蜀汉都不如曹魏,诸葛亮北伐是以弱击强,刘邦是以强击弱,刘邦赢是正常的,诸葛亮输是正常的。
诸葛亮如果有刘邦的实力,有10万身经百战的精兵,也不至于北伐失败。
三、地理因素。刘邦从汉中北伐能够成功,有两个因素:
一是刘邦利用汉水向北流运输粮草;
二是刘邦听从赵衍的计谋,找到一条小路绕到陈仓背后,偷袭了章邯,才成功进入汉中。

公元前186年,武都发生了大地震,导致汉水改流,不再往北流,而是往东流,就不能利用汉水运输粮草了。
刘邦北伐关中时还能用,几十年后大地震,到诸葛亮时期,从汉中往关中运输粮食,只能穿越茫茫秦岭,这可是李白诗中的“难于上青天”的秦岭,运输非常困难。
即使是诸葛亮发明了木牛流马,运输问题也难以解决,水运从古到今都是运输成本最低的方式,采用陆运本来成本就高,损耗就大,还要穿越非常难走的秦岭,更是难上加难。
当时穿越秦岭的路有很多是建立在悬崖峭壁山上的栈道,人都难走,更别说运输了,诸葛亮北伐时,都是因为粮尽而退兵,不是没粮,是运输太难了。

刘邦北伐时,没有所谓的“明修栈道、暗度陈仓”,这是唱戏的唱出来的,历史上从来没有这回事,刘邦从陈仓道北进,被章邯堵在陈仓,都准备退兵了,一个叫赵衍的当地人给刘邦出了个主意,说他知道一条绕到陈仓城背后的小路。
于是刘邦派人绕过去,偷袭章邯,前面夹击,章邯大败,刘邦就打进了关中,这是关键一战,史书有明确的记载,与韩信无关。
《史记·卷十八·高祖功臣侯者年表第六》:雍军塞陈,谒上,上计欲还,衍言从他道,道通。
等到诸葛亮北伐时,这些有利的条件都没了,汉水北流没了,陈仓小道也没了,都因为地震没了,诸葛亮北伐的难度就更大了。