There are also many libraries available to decode and encode these files in various languages.
The reason why XML property lists look this way is that they were a direct translation of the older NeXT "property list" format, which was sort of like binary JSON. Dumping an alternating list of keys and values isn't pretty XML, but it ensured minimum translation headaches from the old format.
It's still hideous. Case in point, although this is a combination of things I guess but, when I upgraded to a iPhone6S+ 2 months ago I backed up my 5s in iTunes then restored on the 6S+. 22 apps could not be restored, among them 6 of Apple's own apps.