고구려-당 전쟁
무엇보다도 과거 645년 제1차 고구려-당 전쟁 때는 개모, 요동, 백암 등 요동의 주요 성들이 함락 되었지만 고구려 주력부대는 보존되어 안시성 근처 주필산에서 당나라의 군대와 대치하고 있었고, 661년 제2차 고구려-당 전쟁 때는 비록 압록강 유역에서 연남생이 이끄는 고구려 군대가 궤멸하고 수도 평양성이 포위되었지만 역시 고구려의 주력부대는 요동에 존재하고 있어 당나라 군대의 작전 행동에 제약이 있을 수 밖에 없었다. 하지만 제3차 고구려-당 전쟁에서는 요충지 신성의 함락과 연남생이 이끄는 투항세력에 이어 금산전투를 통하여 기본적으로 고구려 군의 주력 정예부대는 소멸되어 버렸고 이후 전쟁의 전개는 당과 고구려의 군사적 균형이 무너져 고구려의 일방적인 열세로 돌아서게 된다.
사수 전투
보장왕 20년(661년) 8월에 당은 총력을 다해 고구려 공격에 나섰다. 당군은 대략 17만의 대군을 6개의 부대로 편성하였다. 예전 수의 침공, 그리고 당 태종의 1차 침공 때와 확연한 차이는 주력 침공군은 해상으로 바다를 건너 고구려에 상륙하였다는 점이다. 과거에는 고구려 침공 시, 수양제, 당태종은 수군을 통한 공격도 있었지만 엄연히 주력은 육상을 통한 요하를 건너 요동으로 진공하던 방식이었다. 하지만 이번 당나라의 2차침공은 총 6개의 부대 중 2개의 부대인 소사업의 부여도행군과 정명진의 누방도행군은 육군으로 요하를 건너 요동지역으로 침공하였지만 정작 주력이자 대다수라 할 수 있는 4개의 부대, 계필하력의 요동도행군, 소정방의 평양도행군, 임아상의 패강도행군, 방효태의 옥저도행군은 해상을 통해 바다를 건너 고구려의 압록강 하구, 대동강 하구에 상륙하여 고구려 수도 평양을 직접 침공하려 하였다.