TeX replaces two carriage returns characters by
\par, therefore a empty line is always the same as
\par (excepting some especial environments as
verbatim, were a blank line is just a blank line and
\par is just a text string with four characters). Blank lines is the usual (and perfectly correct) way of end a paragraph, but you can use also directly the explicit command is most cases. Use one or another is mainly a matter of taste, but indeed, normal text it is a lot more readable when there are blank lines between paragraphs.
For macros the opposite could be true and less prone to error. For instance, if you use blank lines in macros, some could be added/removed but accidentally, being harder to detect that an explicit
\par. Using only
\par is easy read what the macro does and detect extra paragraph breaks by accidental carriage returns, since then each blank line is certainly a bug.
Occasionally in normal text you may find (or not) more convenient an explicit
\par. For instance, suppose that for some odd reason (said urgengy to make a shopping list only for your eyes) you want to make a little plain text list (I mean without any list environment as
enumerate), so you just write:
But may be you prefer a compact list in source code, as ...
or even ...
1) one\par 2) two\par 3) three\par 4) four
Because the syntax highlight of
\par, this is still readable (it is clear where each item ended), but taking less space, so one can still read/edit paragraphs above/below that list without scrolling, and see better the whole structure of the text (well, not a main main concern for shopping list with four items, but you catch the idea...).