Check this:
http://www.c2.com/cgi/wiki?ObserverPattern
Delegates are similar to Java listeners, but they more closely resemble the SubscriberNotify or Observer pattern in purity. Where java listeners are objects forced to implement the specified interface, delegates are mere functions with a fixed signature.
I can't think of a better way to describe their value, but mostly delegates are just nice for code clarity and cleanliness. Similar implementations in other languages are usually pretty ugly in comparison and the code isn't quite as obvious in its purpose.