I fail to see what makes YAML any less of a markup language than XML.
There are a few advantages of using YAML instead of XML. First of all, it is a more human-readable. Not like XML data structure, we have to define and give tag name of each data elements. Developers would feel bulky for the XML code and users are quite hard to understand the XML documents. Actually, XML is for machine to machine communication, not for users-machine communication. Since YAML is kindly human-readable, you can treat it for users to read/change data source and used it to communicate with computer program.
Here is an example showing how's their structures are different.
XML Examples:
<busNo>101
<busStop>ABC
<busFee>5.4</busFee>
</busStop>
<busStop>CUHK
<busFee>5.4</busFee>
</busStop>
<busStop>HKU
<busFee>5.4</busFee>
</busStop>
<busStop>XYZ
<busFee>5.4</busFee>
</busStop>
</busNo>
YAML Examples:
--- #bus no
101 : [ABC:5.4, HKU:5.4, CUHK:5.4, XYZ:5.4]
The best example to use YAML is used for configuration file of the program. Certainly, you can parse your own format of configuration file into XML and pass it into your program. But, you can use YAML instead. Also, you could have faster development, especially on web development. YAML is designed with scripting languages such as Python, Perl, Ruby.etc. YAML is designed to translate easily to strucutres which are common to various languages stated above.
In conclusion, YAML is designed for human-read, which make less of a markup language than XML.