말씀하신 두 가지가 모두 이유입니다. 첫째, 소금 때문에 어는점이 낮아집니다. 민물은 0도에서 얼지만, 염분이 3.5% 정도인 일반 바닷물은 약 영하 1.9도까지 내려가야 얼기 시작합니다. 둘째, 바다는 양이 워낙 많고 열을 오래 품고 있어서 기온이 내려가도 수온은 천천히 떨어집니다. 여기에 파도와 해류가 계속 물을 섞어주기 때문에 표면만 차가워지기도 어렵습니다.
또 민물은 4도일 때 가장 무거워서 차가운 물이 위에 남아 표면부터 쉽게 얼지만, 바닷물은 차가워질수록 계속 무거워져 아래로 가라앉고 상대적으로 따뜻한 물이 올라옵니다. 그래서 바다 전체가 충분히 식기 전에는 잘 얼지 않습니다.
실제로 바닷물이 얼 때는 물 분자만 먼저 얼음이 되고, 소금은 대부분 얼음 밖으로 빠져나갑니다. 그래서 바다 얼음은 녹이면 거의 민물에 가깝고, 남은 주변 바닷물은 더 짜고 무거워져 깊은 바다로 가라앉습니다. 이 현상이 전 세계 바닷물의 흐름을 만드는 원인 중 하나이기도 합니다.