Elements are what applications process.
So the name can be important for usability.
Many markup applications only use lower case and hyphens.
But some people like capitalization (e.g. NamedElement, namedElement).
Case isn't a great concept for non-european languages.
XHTML, MathML, XSLT, etc. use all lower-case names.