I\'ve read the documentation https://developer.android.com/google/gcm/index.html
and the only difference I can see is that a CCS (XMPP) based server allows bi-direct
unfortunately google cloud platform will disable the XMPP API after a year https://cloud.google.com/appengine/docs/deprecations/xmpp
I'd choose XMPP to save devices battery cause its one of the big concern nowadays!