This is what template rules are for.
<xsl:template match="/">
<html>
<body>
<CENTER>
<H1>Membershipbenefits</H1>
</CENTER>
</HR>
<table border="1" bgcolor="white">
<tr>
<th>Membership</th>
<th>Company</th>
<th>Benefit</th>
<th>Category</th>
</tr>
<xsl:apply-templates select="NewDataSet/Table"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="Table">
<tr>
<td>
<xsl:apply-templates select="MembershipCompanyName"/>
</td>
<td>
<xsl:apply-templates select="BenefitCompanyName"/>
</td>
<td>
<xsl:apply-templates select="BenefitText"/>
</td>
<td>
<xsl:apply-templates select="Categories"/>
</td>
</tr>
</xsl:template>
<xsl:template match="br">
<br/>
</xsl:template>
You don't need any other rules: the defaults do the right thing.
Also remember to use <xsl:output method="html"/> to get the <br> element formatted correctly for HTML output.
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference