<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.