HTML was first created to just display text, and share it on a network. A basic html file that would display the text "My first web page" in a browser would look like this:
My first web page
html and body are called html tags. According to purists, HTML got contaminated with presentation tags, like h1 for headers, b for bold, i for italic, that were added to make the text "look pretty".
So the organizing body for HTML, the W3C, http://www.w3.org, decided to deprecate or get rid of the presentation tags, and get back to just html tags. That's where CSS, or Cascading Style Sheets come in. They now are used to make text look pretty.
You can buy code generators that will generate HTML and CSS code for you, such as Dreamweaver and FrontPage. There are lots of free ones you can get at http://www.download.com
There are also code "helpers" that assist you with typing in your HTML and CSS code correctly, like Textpad, but there are plenty of free ones available.
XML on the other hand, is very complicated, and there aren't many XML generators available. It also doesn't run in many browsers, since web browsers are set up to recognize HTML and CSS codes, not XML codes. But, as a bridge between the two, the W3C has come up with XHTML, where you still use HTML codes, but formatted in such a way that they'll work well once browsers recognize XML tags.
Hope that helps!