Personally, I use Emacs for most of my XML editing. It has an excellent SGML/XML editing mode (PSGML) and is an all round excellent text editor for markup geeks like me.
For those preferring a more GUI experience, a lot depends on the type of XML you are dealing with. For data-oriented XML, Merlot, XMLSpy, XMLMate are good. For document-centric XML things are more complex and often more costly. The complexity comes from having to set up styling environments in order to be able to view the XML is something approaching WYSIWYG fashion. A recent version of XMLSpy includes this facility but I have not used it myself. Softquad's XMetal is probably the most popular. For high end editing tools such as FrameMaker+SGML and Adept Epic are both good.
If you are looking for freely available tools, I recommend Lars Marius Garshols software list at http://www.garshol.priv.no/download/xmltools/.
This was first published in January 2002