首先,刘邦的庙号是太祖,而不是高祖。虽然后世多以汉高祖称之,但高祖并非其庙号。刘邦的谥号为高皇帝,汉高祖其实就是庙号和谥号的混合叫法。严格来说,这种叫法是不太正式的。
汉朝时往往以谥号称呼皇帝,汉高祖的这种称呼可能就是司马迁的独创。因为首先这样称呼刘邦的是司马迁的《史记》,由于这本皇皇巨著的影响力太大了,所以后世便就随了司马迁的叫法。
一般开国皇帝的庙号都是太祖,但是也不一定。开国皇帝庙号为太祖是有个前提的,那就是天下一定是他自己打下来的,并且基本没有仰仗前代先人。如果开国皇帝出身世家大族,在成为皇帝前身份就已经很显赫了。取得天下借了前代很多光,那么庙号就不太适用太祖了。唐高祖李渊就是这情况。
大唐的肇始之君的确是李渊,只是唐朝的建立李渊是依靠了不少家族势力的。李渊的祖父李虎是西魏时期的权臣,是当时的西魏八大柱国之一,陇西郡公。李渊的父亲李昞,也是北周时期的大臣。唐朝的基业跟李渊父祖两代人的累积是分不开的。
所以李渊建唐后,其祖父李虎被尊为皇帝,庙号唐太祖,谥号景帝;父亲李昞也被尊为皇帝,庙号唐世祖,谥号元帝。
至于赵匡胤、朱元璋庙号为什么是太祖,那就显而易见了。虽然赵匡胤的祖上比朱元璋厉害些,但是北宋的得来完全靠的是赵匡胤的努力。朱元璋就更不用说了,和刘邦差不多,甚至还不如早期的刘邦容易呢。白手起家创建大明王朝,他这个太祖我觉得最匹配。中国古代的谥号、庙号制度虽然有一套完整的体系,但是在执行的时候往往也因人而异。这也就出现了,都是开国皇帝庙号不同的现象。原因其实也很简单,皇帝和皇帝是不一样的,有的能力大有的能力小罢了。