Update — I now feel it’s more practical to separate the 2 (or more) “streams” of thoughts of labmda vs multicast events. The write-up below was written without that seperation. Unnecessarily complicated.
a unicast delegate type =~= a java interface type with a single method, without method body.  I no longer subscribe to this.
a unicast delegate type =~= a typedef for a function pointer. This typedef can apply to many functions.
a “delegate” is an instance of a particular delegate type. If we have to build on the java interface idea, then ….
a delegate instance =~= an instance of a stateless concrete single-method class implementing that interface in 
a delegate instance =~= a particular stateless functor. Specifically an instance of a functor-wrapper. Note An instances of a functor type is sometimes stateful (see Scott Meyers), but an instance of a delegate type is always stateless.
Update — As explained in http://msdn.microsoft.com/en-us/library/system.delegate.aspx ….
a delegate instance =~= instance of a functor-wrapper having a permanent pointer to the target object myDog, so it could later invoke myDog.jump()
a delegate instance =~= python method object bound to a host object? But stateless??
a delegate type is a distinct type (with a name), a subtype of Class Delegate. Delegate type names typically start with D like “DSomething”
The clue to see the link between a delegate type and a delegate instance is the instantiation expression new DSomething(meth1)
Java’s interface is not really an extension of the c++ functor. C# delegates build on top of java interfaces AND c++ functors.