DocBook is certainly the standard for XML documentation writing. I've heard of DITA, but couldn't tell you much about it.
You can use ConTeXt to process XML. It works by defining a mapping between the XML tags and TeX markup instructions. This should give you the benefits of DocBook (universal, XML-based) and many of the benefits of ConTeXt in the document beauty and ease of formatting department.
While there are many differences between TeX and HTML of particular interest to typographers, in my opinion the greatest strength of using a system like TeX, LaTeX or ConTeXt is that, by virtue of being programmable, you can extend what it does. I would hate to maintain an index by hand, for example, or have to remember all the finicky details about how to format citations. All TeX variants can do these kinds of tasks for you and more, and by being TeX they expose a way for you to extend this to whatever your unique problems are. Customizing DocBook rendering through XSLT is quite a chore. You'll have to learn XSLT, XPath, XSL:fo, and find yourself a quality FO processor. Last time I was looking into this, the open source FO processor wasn't very good and a commercial one wasn't cheap. (Of course, generating HTML output only, you could remove that dependency.)
HTML is not programmable like TeX at all. You can certainly find packages that take TeX or other types of markup and produce HTML, you won't be able to find many systems that start with HTML and produce other things. HTML is burdensome to manage by hand, especially if you want to maintain similar structure across a set of pages. There are many things CSS simply cannot do. There's also a 1:1 mapping between an HTML document and an HTML page, unlike TeX, where these concepts are not linked.
The competing system I've heard the most about lately is Sphinx, which would probably be more appropriate for documenting programming projects with a primary emphasis on HTML output.