And when I have to do incremental backups or retrieve a single file, do I have to move the whole backup from cold storage, and then back again?
I did not understand "back again" part.
Glacier allows you to retrieve individual files.
You should not do this, because getting your data back out of Glacier will be painful. You cannot use S3 tools to restore data from Glacier. Author of Hashbackup, and I've implemented and then depreciated Glacier support because it is very difficult for anything other than WORM-type backups.
It's not painful, it's the way this specific product works.