There are numerous articles describing how to define and register a new Sitecore event:
Are there any recommendations when to do so?
One can simply raise and handle .NET events in code. Sitecore events can be registered in a config file which might add some visibility and maintenance flexibility; Sitecore events have built-in support for remote communication. Any other reasons to define a Sitecore event?