If you need event before, during or after specific action executed on Model use Observer.
If you need do do heavy tasks in background to keep fast response from request for example use Quees : job
If you need to broadcast some events to respond to them somewhere else for example in front end via websocket you can do thin using events,