<p> and <div> are not meant for the same purpose, as they have a different semantical meaning:
<p> is for paragraph,
<div> is to "offer a generic
mechanism for adding structure to
documents", as stated in the div
HTML spec from W3C
<p> may not be deprecated in the future as it still is present in XHTML and HTML 5.
Both tags have different graphical rendering. A <p> has a top and a bottom margin of 1em, whereas a <div> has no margin at all. But this point is secondary as it may be overridden by CSS.
Also, note this difference: while both tags are of type "block", only <div> can contain other block elements. Thus:
<p><p> bla </p></p> is wrong, while
<div><div> bla </div></div> is ok
The important point to remember is both are valid and used tags, but not for the same purpose.
<b>(and<i>for that matter) are far from obsolete. Check the HTML5 spec. – DisgruntledGoat Oct 25 '10 at 13:36<strong>and<em>should always be used for emphasis.<b>and<i>are deprecated in that respect but they do have legitimate, albeit limited, use in HTML5. – DisgruntledGoat Oct 25 '10 at 18:43