A notation can be too short. If a seldomly used feature takes only one letter ("t"), then the few times you see the letter you will probably have to look it up, if you don't overlook the letter completely. It is better as a complete word ("translate").
A notation can also be too long. If a keyword you use all the time takes 20 letters to type ("shapeoutlinedata"), than it could probably have been abbreviated ("d"). These examples are from SVG (which gets them right), but you can find similar cases in most languages.
Unfortunately, sometimes your best guesses turn out to be wrong. The
designers of XML thought it was helpful to open and close an element with the
full name of the element (<heading>...</heading>
) and
for the usages they foresaw that was indeed quite reasonable: in long text
with sparse mark-up the ability to see what element you close outweighs the
small redundancy [XMLgoals]. They thought allowing a shorter form (such as
</> or <>) would just add to the complexity of the language. But
XML is now more often used for data in which the mark-up overwhelms the
content in between, and line after line of opening tag almost next to the
identical closing tag is hiding the essential data by their redundancy. XML
isn't broken, but in hindsight it could have been made somewhat less expensive
to use.
Of course, you can always use something else than XML. And if readability of the source is important you probably should. But it comes at a cost: you will have to think about many things that come for free when you adopt XML (how to escape Unicode characters, how to ensure unambiguousness of the syntax, what delimiters to use for nested structures, how to parse white space, etc.).
One way to use both XML and a readable format is to use converters between the two. For MathML, for example, there are several tools that allow people to edit mathematics in a familiar notation. Once there are such tools, readability of the source becomes less important. Not unimportant, though: see longevity.
CSS has its own syntax because readability is very important for a language that is used by nearly as many people as HTML itself. It could have been based on SGML, and originally there were indeed proposals for SGML-based syntaxes (see [Lie99]) and there even existed a US military standard ([FOSI]), but there was never any question that CSS syntax is better. (XML didn't exist at the time, but it wouldn't have helped since it is more verbose than SGML and allows fewer symbols as punctuation.)
Many other languages opt for a mixture of XML and some other syntax. XML by
itself only uses angular brackets as delimiters, everything else must be done
with keywords. People are generally more comfortable when other symbols, such
as colons (:), semicolons (;), curly braces { } and parentheses ( ) also carry
meaning. SMIL, for example, expresses times and time intervals with a notation
like 3:25.5 rather than, say
<time><min>3</min><sec>25.5</sec></time>
.
SVG similarly uses a compact notation for paths that is much more readable
than anything with XML tags could ever be. But both SMIL and SVG still use XML
for the parts where verbosity is less of a problem, thus making the job of the
designers of the specification easier at an acceptable cost in
readability.
And there are languages for which readability is rather less important compared to, say efficiency. PNG is an example. It is a binary format.