Its buggy thou, from what I know it adds to a global download/upload queue and it is down to the OS to decide when it runs, and at times it will never download/upload. If it is something mission critically it can be annoying, not sure what iOS8 does for this, I've only tried on iOS7.
This. It's a workaround because the OS is bonkers. It's such an obvious simple thing that apps should be able to download/upload in the background but they have to put these hacks in that might work on occasion. I'm trying to download a load of playlists before I go on holiday tomorrow morning and it's a nightmare! Continuously waking up Google Music and praying the OS lets me use some precious download.