Goal Flarum uses Pusher because WebSockets require the server to support web sockets.. and while that may not be a problem for some, it may put some strain on the server (don't quote me on this, I'm no expert).
Pusher is used because of the ease of use. Pusher defaults to websockets and falls back to HTTP if the device doesn't support it. it removes problems that users could have adding real time events to their forums. Though the pusher extension is in need of a rewrite. flarum/core321
[Services such as Pusher] offer Infrastructure as a Service so that you don't have to worry about the underlying technology. That said the services do use the technology as a selling point e.g. Pusher very much use WebSockets to sell their service.
https://stackoverflow.com/a/4961996