Rest call are good when you cannot proceed without that step to be completed. It is sync in nature and will give the result (success/failure) before jumping to next step. Although it will give a delay in UI response to the user but also assure the completion of first step before jumping to next.
Eventing system is good when you can proceed without waiting to complete of any step. Like processing the order, add the result when user submit a question etc. Event system can give a delay in updating the records as it depends on a third system and that must be up and running, but user will not be blocked as it is just a matter of trigring the event with data.
