Según la documentación de Google: "Interfaz con la información global sobre el entorno de una aplicación. Permite el acceso a clases y recursos específicos de la aplicación, así como llamadas ascendentes para operaciones a nivel de la aplicación, como actividades de lanzamiento, difusión y recepción de intentos, etc."
En pocas palabras, el contexto es el estado actual de su aplicación. Le permite proporcionar información a los objetos para que puedan estar al tanto de lo que está sucediendo en otras partes de su aplicación.
getApplicationContext()
getBaseContext()
getContext()
this
Esta página de StackOverflow tiene varias explicaciones completas y bien escritas del concepto de contexto: