Hallo,
<p>...</p> bezeichnet semantisch (= was die Bedeutung anbelangt) einen Textabsatz. Wenn Du einen Textabsatz in einem Text kennzeichnen willst, solltest Du <p>...</p> benutzen.
<div>...</div> ist bedeutungsfrei!
Allerdings stellt html ausreichend Elemente, eben p, aber auch li, h3 etc. zur Verfügung. Diese sollte man auch verwenden. Ich kenne eigentlich kein Element, an das das W3C nicht gedacht hat. Es gibt also auch keinen Grund div als unmittelbares Textauszeichnungselement zu verwenden.
Die Funktion von div liegt in meinen Augen eher in der Unterteilung verschiedener Abschnitte innerhalb einer html-Datei, etwa <div id="menuebereich"> oder <div id="hauptinhalt"> usw. Darin würde ich aber stets auch die Standardelemente p, li, etc. benutzen. Dafür sind sie schließlich da!
Heiner