纣王明知道放虎归山留后患,但他还是没有杀掉姬昌。那是因为纣王考虑的很多,他需要用姬昌去为他镇守边疆,抵御戎人。电视剧《封神榜》中就向人们描述了武王伐纣的故事,很多人都认为,纣王是一个昏庸残暴的君王,但其实纣王是一个很有思想谋略的人,当时商朝有很多附属国,其中西伯侯姬昌也是向商朝臣服的,还有东伯候,南伯侯,北伯侯。北伯侯和西伯侯是最厉害的两个诸侯势利,除了四大诸侯以外,还有一些零散的势利,虽不足为惧,但如果他们团结在一起,那也是不容小觑的。商纣王看似昏庸,但其实很有想法,他知道四大诸侯虽然就像自己臣服的,但随着他们越来越强大,对自己的威胁也就越来越大,所以商纣王想要敲打一下这些诸侯国。
再加上纣王的身边有一些奸臣,一直在给商纣王出馊主意,他们建议商纣王把诸侯王们骗过来杀死,但是商纣王并没有被他们蛊惑,商纣王有自己的主意,他先是对东伯候下手了,杀死了东伯候以后,东伯候的儿子非常的气愤,发动了造反,但是被商纣王给压下去了。后来南伯侯也被处死了,接下来就是西伯侯了,西伯侯去了商朝被扣押了一段时间,最后还是回去了,也算是逃过了一劫。然而商纣王知道,让西伯侯姬昌回去就是放虎归山,但是商纣王还是让他回去了。
那是因为商纣王知道,当时的形势比较敏感,他不能随便地杀掉姬昌,那个时候西周也是很厉害的,再加上西周的存在,可以为商纣王抵御戎人。如果自己杀掉了姬昌,西周会不会造反不说,如果西周不再继续抵抗戎人,戎人直接进入了商朝地界,那么对商朝的影响是非常大的,出于种种考虑,商纣王只好当了西伯侯姬昌。
因为西伯侯姬昌掌管着西周封地,西周不仅实力强大,而且西周的西部还有实力强大的戎人,贸然杀掉姬昌的话,万一西周一怒之下联合戎人攻打商朝,那么纣王的王位就不保了,所以他才会放走姬昌。