Un delegado es un concepto general que se encuentra en varios lenguajes de programación y que permiten implementar el patrón
Observador. Esto que quiere decir? Que tu a un objeto le dices "cuando pase 'x' cosa me avisas". Esa "x cosa" sería el evento, y a donde avisa sería a la función del delegado. Un ejemplo clásico: cuando pulsas un botón de una web o de una aplicación. Se lanza el evento "click" y avisa al delegado que le hayas asigando para que puedas ejecutar el código y responder al click.