be careful with the visual editor; if you switch between visual and html it will lose some of your formatting. i recommend staying in the html editor.
the "br" code ("br /" is how it should really go) is a soft line break. the "p" and "/p" codes are hard line breaks.
to get multiple blank lines, i find i have to put a non-breaking space in. " " (the & and ; are part of the code, but it does NOT use angle brackets.)
to get a single line between paragraphs, hit ENTER at the end of the paragraph, then ENTER again (blank line) and start the next paragarph.
to get two lines between paragraphs, do that, then type the " " and hit ENTER again. (if you are using div style indenting, you also need to hit ENTER again to force a line break after the blank space.)
to get a big break between paragraphs, i use "p" and "/p" before an " ".
all in all, i really wish wordpress would create an actually WYSIWYG editor that would preserve spacing and blank lines.
now i'll try to post the code i use as the basis for my blog posts; which contains the blank line breaks.
<br />
<div style="text-indent:25px;"><hr /><br />
<br />
<p> </p><br />
</div><hr /><br />
when writing my post, it looks like this:
<br />
<div style="text-indent:25px;"><hr /><br />
</p>
<p>Blog Text: An extra blank line after the " " so this automatically indents. (that's the indenting on the div style, above.)</p>
<p>A blank line between paragraphs to make this paragraph auto-indent. If there is not a blank line, the paragraph will NOT indent.</p>
<p><p> </p></p>
<p>The P's and NBSP's create a bigger jump (i think it looks like 3 lines when published) between lines.</p>
<p></div><hr /><br />
Note: every where there is a new line, there is technically a "br" code. i just don't bother typing that in, because the editor does that for you.
And yes, when using what used to be single tags (that had no "/" versions in the old days), you now type the regular tag, a space, then the "/" inside the closing angle bracket.
(like my horizontal rules in the example above.)