That's right, good explanation is hard to find, but you can infer the answer by thorough consideration of syntax, functional language description and perhaps probing them in programming.
Roughly speaking, the event instance is a special kind of delegate instance equipped with fool-proof limitations and suitable for event processing. (In last clause I used the word "event" in two different meaning, as a .NET object and as a concept of event-oriented programming in its behavioral aspect.) Also, you should be careful with delegate types and delegate instances — they are not related as a type and its instance. If you examine a delegate instance with Reflection, you will see that its type is some class encapsulating invocation list.
Please see my past answers:
Since we have multicast delegates, why do we need events?[
^],
how to call keydown event on particular button click[
^],
[Solved] How to add Event for C# Control[
^],
A question about usercontrols, nested controls and encapsulation.[
^],
WPF : How to Use Event in Custom Control[
^],
Delegates and Callbacks[
^],
Copying an EventHandler[
^],
c# networking windows form[
^].
The delegates and delegate instances are explained in depth in my article:
Dynamic Method Dispatcher[
^].
Please see the section "4.1 On the Nature of Delegate Instance" referenced above.
—SA