Google Cloud Messaging (GCM) allows developers to send data from servers to Android apps without needing the app to be running. It handles queuing messages and delivery to devices. The key benefits are ease of use, no sign-up forms, battery efficiency, and rich APIs. Implementing GCM involves adding required libraries, modifying the app manifest, writing an IntentService to handle messages, adding a broadcast receiver, and registering from the main activity. The server sends messages to GCM servers which queue and store messages, then delivering them to devices when online.