RLake, who appears to be one of the developers of the original GML markup language and who blogs at Geo-Web, has written an interesting series comparing KML with GML.
In Part I – Feeding the web with Geographic Information, he wonders why KML is considered revolutionary if GML went down that same road five years ago. He concludes that it is the whole Google Earth package that is revolutionary. I’d add that a markup language for geographic data is obvious, even if it is with hindsight, and that there are only so many ways to mark up geographic data (and one best way, probably).
In Part II – GML and KML, he provides (tongue-half-in-cheek) instructions for making your own Google Earth. It all comes down to how well you style your marked-up data, and Google Earth does this better than most.
Finally, in GML and KML Syntax he compares the two markup languages in terms of their purpose and abilities. There is plenty of interesting stuff on that blog.