When ever it is available, I use the CLI. I have noticed that when you use some GUI's it makes odd automated choices and tends to make the text based configuration more difficult to read (i.e. asdm). CLIs are require much less bandwidth for administration - so you can say, put SSH to these addresses in CoS1 and not worry about taking much bandwidth from priority apps and you are able to connect easily even during congestion.
When doing a mass configuration, I would rather prepare the configuration in excel or notepad, then paste it in instead of clicking through it. I recently had to deploy WAN accelerators that I had to create the tunnel through the GUI in order for it to automate the key exchange. Steps were scroll to the bottom, click add, type in name, Tab, Tab, Tab, Type in IP, Tab, Down, Down, Tab, Space - Repeat that sequence 45 x 44 (44 tunnels on 45 devices)! No fun... The company has an automation tool, but it is at a cost and I had to beg and plead, kick and scream to just get them to approve the purchase of the devices (my work pinches pennies, sometime to a fault). Although the rest of the configuration could be done in the CLI and took 30 seconds to set the rest of it up (find, replace, copy, paste, done!).
I must have all firewall changes documented, approved, and implementation validated. To document a change using the GUI, one would need to use screen shots and/or video recordings, but a good change validation is usually done through text comparison which does not translate well to screen shots, so a CLI is a must here.