Almost all projects that I have been involved with have some form of data being pushed into Salesforce from external systems “Inbound Integration”. Until Platform Events came into existence, there were APIs (SOAP, REST, BULK) that allowed any middleware or system or program to push data into Salesforce.
The downside of API based integration is that external systems pushing data into Salesforce is dependent on the completion of the transaction meaning if data is being pushed into an object and if there are triggers (and there will always be) running on the data being pushed, then the external system must wait until all the business logic in the trigger completes its execution.
Platform Events with its concept of publishers and subscribers have the unique ability for various systems to push data (publishers) and subscribers to consume whenever they are ready. Both the parties are not dependent on each other and use the construct of the platform event object as the interface specification.
This benefit along with many others is when I started to use Platform Event as the interface layer for pushing data into Salesforce. Below is an outline of how a typical inbound integration would look like. Watch out for things like limits, limited custom field types …etc
Happy to hear your thoughts!