Normal HTTP is ask-and-answer: the client asks, the server replies, the connection is done. WebSockets start as a regular HTTP request that asks to 'upgrade', and when the server agrees, the connection stays open in both directions.
From then on, either side can send a message at any moment, no polling, no re-connecting. That's what powers chat, multiplayer games, live dashboards and collaborative editors, where waiting to be asked would be too slow.