0
The main purpose of events (as implemented in .NET) is to prevent the subscribers from interfering with each other or with the event itself.
The only way a subscriber can subscribe, or unsubscribe, to an event is by using C#'s special += or -= operators. Subscribers do not know about other subscribers and cannot therefore interfere with them.
Moreover, code outside the broadcaster (i.e. the type which contains the event) is not able to access the event at all apart from via the += and -= operators or via any public method which the broadcaster may provide to indirectly fire or otherwise manipulate the event.
None of this is possible using 'ordinary' delegates (events are just a special type of delegate) which need to be public for subscribers to be able to subscribe to them in the first place. The subscriber therefore has direct access to the delegate and can view or manipulate its invocation list.