First of all, If you want to deeply understand the issue, visit two places:
If you are interested in a quick overview and some code examples, keep reading.
Android Cloud to Device Messaging (C2DM) is a lightweight framework enabling the device to refresh its data from the server using “push” messages.
Instead the device will go to the server periodically, looking for new data, spending precious battery time, the server (which hold the state of the data) simply sends a lightweight message to the device, telling him “dude, I got some new fresh data ready for you, come get it”.