原因有如下几点:
1.傅作义看清当时形势,中共将在2-3年内取得全国胜利。作为非蒋介石嫡系将领,傅作义深知一旦失去自己的地盘和军队,南迁之后根本不会受蒋介石重用。所以傅作义在国共决战之际在研究毛泽东的《论联合政府》,期待以自己的地盘和军队做筹码与中共谈判,在新政府谋取最大利益。所以,当时蒋介石在辽沈决战焦灼之际,要求傅作义从华北增援东北,傅作义不愿意配合,最初只派了少数天津守军去葫芦岛,后来老蒋逼迫甚急,傅作义玩起了偷袭石家庄的游戏,成功避免了老蒋把自己的嫡系部队调往东北。说到底,傅作义还是看清了大势,不想跟老蒋打中共,其意图还是想以军队和地盘为筹码跟中共和谈。既然不想真打,也自知打不过,自然不会做积极防守。
2.从辽沈战役之前的国共双方态势看,傅作义的军队驻扎在东起滦县西至张家口的战线上。冀东地区在抗日时期就是中共的老根据地,在河北境内的昌黎,秦皇岛,山海关早已经被解放,锦州以东辽宁境内的绥中,兴城也是解放区。在冀东和辽西地区驻扎着解放军正规部队和地方部队。长城沿线各个隘口,包括山海关,冷口,喜峰口在辽沈决战之前都是解放军在控制。所以傅作义部队根本没有防守的条件。
3.山海关地理位置的重要性在平津战役中没那么重要。即便这些关口没有被中共控制,而是被蒋军控制,山海关也无法充当有效屏障。长城隘口有多个,包括山海关,冷口,桃林口,喜峰口。无论是满清入关,还是日军侵华入关,都是从多个关口同时进攻。而东北解放军入关,也是多路纵队同时从几个关口进军。所以即便防守山海关也没有用。
在珍珠港事件爆发后,日军认为美国短时间内不会恢复。所以在瓜岛战役当中,他们采取的是速战速决,起初所带补给比较少。当后来局势恶化后,日军大本营曾经试图进行过补给。