XML will let you define custom elements that you can use transform into HTML using XSLT (XSLT is used to transform XML data from one format to another). This is more flexible, but also more work.
For example: If you go the XML route, you could define new elements in an XSD (XSD is where you can define new elements) and your document could be written like this:
<HelpHeader>Ron's Help manual</HelpHeader>
<Warning level="5">Not to be taken internally!!</Warning>
<HelpBody>Welcome to the Help Manual!
<HelpSidebar>I hope this documen is very helpful to you<HelpSidebar/>
</HelpBody>
This might make it easier to write the document as the elements are closer to the document you're writing. You must then use XSLT to transform the document into HTML (and I think you can include CSS and maybe JavaScript here as well?), which might be a lot of work.
One advantage of going the XML route is that if you ever decide to change the layout/look-and-feel, you don't change the content of your XML file, you change the XML-to-HTML translations in the XSL file. This way the content is preserved and huge and sweeping style changes can be made quite easily. This is a big bonus when the style changes are relatively small, but there are hundreds of HTML files. You can make one change in the XSL, and regenerate the HTML with a single button-click! No one wants to manually reapply HTML changes to all those files.