결론부터 말씀드리면 물고기의 생물학적 성분과 서식 환경의 차이 때문입니다.
모든 바닷물고기는 바닷물의 염분 농도에 맞추어 체내 수분을 조절하기 위해 TMAO(트리메틸아민 옥사이드)라는 성분을 가지고 있는데, 물고기가 죽으면 이 성분이 미생물에 의해 분해되면서 TMA(트리메틸아민)라는 비린내를 발생시키는 성분으로 변하게 됩니다.
그런데 특히 고등어 같은 등푸른생선은 수분 조절을 위해 이 성분을 다량 보유하고 있을 뿐만 아니라 불포화지방산 함량 또한 높아 지방이 산소와 만나 산패되면서 찌든 비린내를 추가로 발생시킵니다.
생선을 삶을 때 냄새가 더 심해지는 이유는 비린내 성분이 휘발성을 띠고 있어, 열을 가하면 수증기와 함께 공기 중으로 더 넓고 강하게 퍼지기 때문입니다. 반면 광어 같은 흰살생선은 지방과 TMAO 함량이 적어 상대적으로 냄새가 덜합니다.
그리고 민물고기의 경우 물속 박테리아가 만드는 지오스민 성분 때문에 특유의 흙내가 섞인 비린내가 나기도 합니다.