DIV обозначает отдельный раздел на странице, который семантически не связан с остальными. С помощью P-тегов вы указываете, что этот фрагмент текста разбит на абзацы, но он все еще остается единым целым.
ДОБАВЛЕНО: с помощью "семантики" люди обычно ссылаются на возможность извлекать из HTML информацию о том, что представляют различные элементы страницы и как они связаны друг с другом, а не рассматривать весь HTML как просто разметку для быть оказанным. Например, когда вы делаете меню, рекомендуется использовать для этой цели UL (неупорядоченный список), поскольку из разметки можно будет узнать, что все LI (элементы списка), содержащиеся в определенном списке, вероятно, означают варианты выбора тот же уровень. Я знаю, что для программ чтения с экрана для людей с ограниченными возможностями полезно попытаться сделать свою разметку максимально семантической.
Если вас это не касается, то для визуализированного результата практически не имеет значения, используете ли вы DIVs или Ps. Вы можете стилизовать оба стиля с помощью CSS, чтобы добиться одинакового внешнего вида.
Семантический HTML все еще не является "абсолютным благом", к которому нужно стремиться. Для многих семантика не добавляет никакой ценности, поскольку они хотят, чтобы их страницы отображались правильно. Вот почему бесконечные дискуссии о том, использовать ли таблицы для разметки (и добавлять семантику там, где она не принадлежит) или придерживаться CSS, скоро не закончатся.