Hey,
I think there is significant overlap in the use cases for GeoEvent and Web Hooks. But in my experience, the main functional difference between the two is a matter of the scale of messages. GeoEvent is generally geared towards processing 100s or 1000s of events per second and Web Hooks are typically used for processing information on the 1 event per minute or second scale. Those are just general observations on my part.
Also a generality, but the implementation choice between GeoEvent and Web Hook depends on if you have access to GeoEvent (and are comfortable using it), your data is availalbe to GeoEvent, and if the 'incidents' you want to notify others with can be processed by GeoEvent. If you need to do custom development within GeoEvent and/or you already have a standalone custom application that you are developing/supporting, then it might make sense to implement the Web Hook functionality in place. Also, don't forget that Web Hooks allow users to self-help themselves to data inside your application. This functionality can be beneficial when you don't know who is going to be interested in consuming your events (GeoEvent does allow users to subscribe to web sockets and consume web services, so maybe this isn't such a big deal).
And finally, the two technologies are not mutually exclusive. As my blog (mentioned by RJ above) shows, you can use GeoEvent to receive WebHook events.