Well Pramod, Delegates are really very important and can be used in varity of ways:
Delegates are the C# way to enlist methods contained in other classes.
A delegate is similar to a function pointer or callback function in C or C++, but itâs type-safe and more flexible
So you can take delegates as "Function pointers". This way we seperate function "reference" from "implementatoin"
But, apart from this, they are more widely used in Event driven mechanisms and Multithreading as well.