В книгах по C# обычно сначала рассказывают что такое делегаты, потом говорят: как можно увидеть события очень хорошо реализуются делегатами (ну как то так).
Я в своих приложениях использую только EventHandler<...>'ы и мне хватает.
Есть ли жизненная ситуация когда нужны именно делегаты?