HTTP Asynchronous Client Notifications is a useful white paper about the issues related to web based clients and asynchronous communications with them. The end of the article has a decision tree that should be good for any executive summary.
The area that they do not go into is the use of a mixed technique. For example, in answer to the question "can we delay until next request?" the answer is normally "yes, but...", which means that for this part you might desire a bit of polling and piggybacking. My preference is to always use this kind of mixed technique, you should poll by providing some useful information on a regular basis rather than just connecting and reading - a status/idle message for example or a time sync message.