GDB is useful when you have a coredump of a crash you cannot reproduce, so using Valgrind is out of question. Also, it's useful to debug logic and watch the values of variables - all the things you can't do with strace.
Is GDB a good debugger?
GNU Debugger, which is also called gdb, is the most popular debugger for UNIX systems to debug C and C++ programs. GNU Debugger helps you in getting information about the following: ... GDB uses a simple command line interface.
Why you should not use debugger?
Guessing is a bad approach to debugging. If your colleagues are really using guesswork, rather than thinking about the problem, then they are doing a bad job. Guesswork means sticking random print statements in the code and hoping to find something useful.