Why is gbak so slow?
GBAK is a backup tool, but performance-wise it behaves like any other Firebird client. It goes through entire database file and backs it up. When restoring, it restores the entire database. If you're looking for incremental backup solution, take a look at nbackup utility, available in Firebird 2.
By default, GBAK does garbage collection during backup. As both backup and garbage collection are maintenance tasks, and both GBAK and GC have to go through the entire database, it's a good idea to have them running together. If the speed is your main concern however, you can disable garbage collection with -G switch (or appropriate option in your administration tool.)