The best is to have a read of Wikipedia's article.
http://en.wikipedia.org/wiki/Push_technology
Basically clients subscribe to channels they want to be kept up to date with and they get notified of changes.
They're being "pushed" information.
Behind the myriad of complex implementations, it's very simple.
Have a service allowing subscriptions and removals, a channel system (handling multiple lists of clients) - although not necessarily - and the server a method to push the info out to the clients.
From there it's all about getting smarter about data... Throttling data, chunking client lists, periodically testing if clients are still alive, etc. But overall, simple.