They are different tags with (perhaps subtly) different purposes....
[tt]
<p>This is a paragraph of text, enclosed within the relevant tags. Most browsers will render it with whitespace above/below it, but you can get rid of that with CSS. Note I include the (optional in HTML) closing tag 'cos it makes it clearer what's going on</p>
<p>This is another, but also a rhyme<br>
I make sure the line breaks the same place every time</p>
[/tt]
(OK, OK, I am the webmaster of

)
<p> tags identify a block of text as a paragraph, you can apply styles to it to change the font, background colour, margins etc. <br> is an inline tag that says "put a line break here", it is intended to have limited uses - in poetry, program listings, etc. It's not a replacement for <p>.
Strictly speaking, your page has some content: say, a whole load of text. You use HTML tags to "mark up" that content, identifying (amongst other things) where paragraphs begin and end. The browser renders the marked up content according to a set of rules for how each element should be shown. You can amend those rules using CSS.
So, what you
should do, if you want no space between your paragraphs (though the spacing makes them easier to read IMO) is something like this:
[tt]
<html>
<head>
<title>Look no BR's</title>
<style>
p { margin:0 }
</style>
</head>
<body>
<p>This is on one line</p>
<p>This is the next</p>
</body>
</html>
[/tt]
Put that style declaration in a seperate file and you can change the look (and spacing) of paragraphs across your site at a single stroke.
btw, <br>'s days are numbered. They're getting rid of it altogether in XHTML2. See
-- Chris Hunt
Extra Connections Ltd
The real world's OK for a visit, but you wouldn't want to LIVE there!