Data sent over WebSocket naturally must cross many organizational and firewall boundaries across the globe. They also must be available to any type of computing device from desktop to mobile or embedded devices.
Being able to scale elastically is crucial for any real-life deployment. Learn how you can scale your WebSocket applications.
One of the key promises of applications built using WebSocket is to be perform in ways traditional HTTP-based apps can't.
Older clients, mobile devices, or browsers behind firewalls and proxies that don't support WebSocket communication should not be excluded from the party.
WebSocket was designed as a transport layer protocol, to be TCP for the Web. Layering higher level, richer business protocols, such as pub/sub on top of it gives you a lot of flexibility and power.