When writing a script you would clearly be intending to capture a particular event and the event names are static.
Not necessarily... this only matters when two events require different processing, but this is not always the case. For example, sclick and dclick refer to basically the same event but with a slightly different interaction. A scripter might want to simplify an option for users to specify whether their events occur on dclick or sclick and therefore would be stored in some $config.clicktype identifier (which reads from an ini file, perhaps). You could check $devent, but this is just the same exact argument for $did or $dname.
I brought up those two examples because this seems arbitrary to me. Traditionally mIRC has been fairly consistent about only allowing $() in matchtext event parameters. How will users know that did and dname accept $() but event does not? Should mIRC document every place where $() is accepted? If so, why not just accept $() everywhere and be done with it?