KML or Keyhole Markup Language file is based on an XML language which stores and models geographic information.
What it contains
A KML file may consist of both vector and raster data with different geometry types.
What application can be used
Google Earth, QGIS, ArcGIS, and Global Mapper.
The Open Geospatial Consortium provides the standard specifications and definition for a KML file and can be accessed through this link.