What can be achieved using delegates that cannot be achieved using functions?

I want to know what is the use of delegates in .NET world. I recently had a discussion with a C# expert who asked me the same question. I told him that Delegates help in reducing the number of lines of code besides helping in to register the functions which could be called dynamically at run-time. But as per him "That's not it".

Please let me know if there is more to this than that and what extra can be achieved by using delegates in C# that cannot be achieved using functions.

Thanks.