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, Global Mapper,
The Open Geospatial Consortium provides the standard specifications and definition for a KML file and can be accessed through this link.