AFAIK since android uses read-only system partition, there's nothing to restore. It just wipes the data partition and that's it.
Indeed.
If you look at the storage requirements of an app, you can see it's split between "App Size" and "User Data" (along with a cache).
AFAIK there's no way to actually backup/move the user data without rooting. Now I can see why Google might not want to store all that (and why I might not want them to) - but it's somewhat silly not to have any options.
That is the true "factory reset", as it's how they were first loaded with software in production. I believe the more widely-known and generic Android reset is merely restoring from an internal partition.