<body>
は、Webページのコンテンツを示す要素で、<html>内に<head>に続けて2番目の要素として配置します。
ブラウザに表示させるコンテンツを要素内に記述していくことになります。
HTML5以前のHTML4.01やXHTML1.0時代には<body>内に記述できるのは「ブロック要素」と定義されていたため、直下にインライン要素である<img>や<span>等を記述することは文法違反とされていました。
HTML5ではブロック要素インライン要素という概念が無くなったことと「フローコンテンツ」を内包できるとなったことから、<body>直下に<img>等を記述しても文法違反とはなりません。