How to backup&restore Android device?
As I already pointed out in multiple places, the integrated "Google Backup"...


does not backup everything (apps have to explicitly support it)
is unrelyable on restore (sometimes it works, sometimes not at all, when it gets interrupted e.g. by a network outage it cannot be resumed...)
not everybody likes to have personal/sensitive data backed up somewhere in a cloud


In no way this "Google Backup" can be counted as a complete solution.

At least with Android 4.0 and higher, there is a possibility to do complete backups (and restore them successfully) -- see Full Backup of non-rooted devices. But this also has some disadvantages:


You can do a full backup -- but then you only can do a full restore (not selectively pick parts)
You can do "selective backups", but if you want to do that for all your apps etc. separately, it's not an easy task (but rather excessive work)


Other options for complete backups require root access on the device, e.g. Titanium Backup as the best and most famous variant. Same applies to other full backups like Nandroid via a Custom Recovery (such as e.g. ClockworkMod Recovery, mentioning the most famous example) -- and again, these can also be restored only completely (except you use just mentioned Titanium Backup for restore, as it also can read Nandroid backups).

All other solutions are not complete, but only cover parts. There are lots of apps to e.g. backup/restore single components like SMS, call logs, contacts. There are also apps which claim to create "full backups" -- but without root, that is impossible for an app. Still, one might succeed finding solutions for the most important data without requiring root access on the device.