Отличие события в c# от ссылки на метод

Я недавно начал программировать на c#  и не очень понял зачем  нужны события, если эти события всёравно гдето генерируются методом. Понимаю, что тут что-то не так, но на мой взгляд, не легче ли просто создать метод. и при выполнении каких-то действий прописать этот метод, чем создавать событие с данным методом, а потом пытаться его запустить и отлавливать? (Про делегаты я вообще чёто не въехал пока,как они работают)
Вообщем может не очень выразился, просто хочу понять, зачем создавать события а потом гдето его генерировать методом, ведь можно в этом месте напрямик сослаться на этот метод.

Прочитай про события и делегаты, а пока смотри как я использовал их у себя.
Допустим есть 3 светофора и презентер( получает информацию от них и преобразовывает в нужную для определенных целей).
При вызове события(допустим, событие смены состояния лампочек) в одном из светофоров

UpdateState(TempLamps, this.Type); //вызов события

должен срабатывать метод презентера , который будет принимать некоторые аргументы от светофора. Поэтому я записываю в делегат события этот метод
A.UpdateState += new WinFormsTrafficLights.UpdateEvent(TLStateChanged); // при срабатывании события светофора А будет запускаться метод TLStateChanged

Теперь при каждом вызове события будет срабатывать нужный нам метод. Записать методов в наше события можно сколько нам нужно (в пределах разумного).
Согласитесь, намного удобней чем использовать метод вместо события и указать в нем какие методы вызывать в дальнейшем времени.
Также если у нас есть таймер, очень удобно записывать в делегат события метод, который будет вызываться при каждом тике таймера
BlinkingTimer.Elapsed += Blink;

Извините если что не так написал, опыта пока маловато.