what is the difference between sending general alarm and sending event that triggers an alarm?

The first difference is that the administrator will be able to govern which events are escalated to alarms. He will also be able to disable a alarm definition temporarily if wanted. Finally the administrator can in the alarm definition write extra instructions, decide who the alarm by default is assigned to and similar.

It is my recommendation to always use events combined with alarm definitions instead of directly raising alarms.