我认为最主要的原因如下:第一,是否得到了最高统治者的坚决支持。商鞅变法得到了秦国最高统治者秦孝公长期坚定的支持,因此能持续变法长达二十一年;反观王安石变法,作为最高统治者的宋神宗始终在表达问题上摇摆不定,没有给予变法最坚定的支持,这是王安石变法失败的根本原因。
第二,商鞅变法在当时的秦国遇到的阻力比王安石变法在北宋遇到的阻力小的多。因为当时的秦国远在西边,受中原文化的保守性影响较小,故秦国民风淳朴,具备变法的先天条件。
而王安石变法在北宋中期,当时的社会阶层已经固化,保守势力极其庞大,导致王安石变法遇到的阻力太过巨大,难以成功。
第三,与当时的社会矛盾是否极其突出有关。商鞅变法发生在战国争雄时期,当时秦国面临亡国危险,国内社会矛盾异常突出,这就为秦孝公坚定支持变法提供了客观依据;而王安石变法发生于北宋中期当时尽管也存在着社会矛盾,但并不突出,故变法缺乏强有力的客观依据。以上就是商鞅变法与王安石变法一成一败的原因。