Most of the other answers are more or less correct, but (along with the question) they kind of miss the point.
The registry is a hierarchical database manager -- nothing more and nothing less.
The "faults" you're attributing to the registry are really independent of the registry itself. They're simply decisions various vendors have made about things like how to install their programs -- if you stored the information in some other fashion/form/container, the same problems could remain.
Given the "everything is a file" philosophy of Unix, it's (or should be) no surprise that Unix (and similar, such as Linux and MacOS) systems store the information as individual files in the file system. This isn't nearly as different as many people might immediately believe though, since the Unix file system is itself a hierarchical database (or, arguably, a network database if you take symbolic links into account). The glaring difference is that the registry is accessed via a separate API, where storing configuration data in files allows those files to be accessed, edited, etc., via the same API (and tools) as any other files.
I think the consideration should probably be about how the templates are going to be written. The point of templates is to make sure that people are no longer hand coding (html, LaTeX, xml, whatever). This is why templating engines allow inheritance and other fancy features.
So, Daniel Roseman has a good point when he says that getting humans to write XML is evil. To some extent, you're using templates so you don't have to do that.
With that in mind, the largest difference I've seen between python templating engines is not, in fact, whether they use XML or some custom syntax. The large difference seems to be whether or not the templating engines allow arbitrary python code to be embedded into the template.
You mentioned both Cheetah and Jinja2. Both have special syntax but Cheeta allows pretty much arbitrary python to be embeded in the template, while Jinja2 places heavy restrictions on what can be done with the template. Now you're looking at a trade off between potentially mixing business and presentation logic, with making your template clear and concise.
In the end, the benefits are going to come from how easy it is to read, write, re-read, and re-write your code.
Best Answer
The registry is Microsoft's solution to storing application information relative to a user. The advantages of this include:
However the disadvantages include:
I personally vouche for using XMLs if not merely for the fact that it allows you to copy the entire application to another computer and have it work fine with the same settings. Plus, if you write your application flexible enough, you can write entire projects onto XML files, something I wouldn't dare attempt with a registry.
It's convenient initially to use the registry, but it's far better in the long run to use XML files in my opinion.