If I understand it correctly, geany is a multi-language IDE. Perl/Python developers are not C::B's target market. That's why I referenced Eclipse CDT rather than full Eclipse.
That said, those IDE's are also very good for their purposes. Some 5 years ago I was frustrated with crashes in KDevelop when I loaded a large project (thousands of files). So I haven't tried it since then. I hope it improved over the last few years.
Eclipse CDT was giving me a lot of hard time in mixed linking (partially static, partially dynamic). This is a really basic feature in C++ because some libraries (system, libstdc++, libpthread) are intended to be used mostly dynamically, while other dependent libraries should be static if your users don't have them in standard repositories. No matter how much they try to transform Eclipse into a C++ IDE, it is just not friendly for C++ development. It may be perfect for Java. On the other hand, in C::B I open project options and all compiler/linker tabs are right there with the configurable library order (append/prepend). You can immediately see that people who designed it understand the thinking process of a C++ developer.
I have just tried Geany as well. It doesn't allow you to place 2 tabs side by side. So half of the space on a widescreen monitor is wasted. In C++ you want to see a class header and its implementation side by side. I remember C::B supported it since version 10.
Another feature in C::B that I value very high: custom makefiles. This feature is indispensable when you evaluate other people's projects. Generally, I want to step through the code in the debugger to see what the code is doing. However, it is not my project and I'm not going to spend my time creating specialized project files for it *before* I've evaluated it and decided to commit my resources. Most projects support gmake and standard makefiles. So you can simply hook up your top level Makefile in C::B and build the project. Then, if you find the code useful it is worth going over and creating project files for whatever IDE you use.
The above may be a biased description but I did give a fair chance to several IDE's. They are mostly good but haven't fully met my expectations. Maybe I'm just too demanding.
I thought we were going to have to put Code::Blocks to bed and start moving our projects to Eclipse (10.05 debugger does not work with current GCC).
If I remember correctly, version 10 didn't fully work with GDB. I posted here a couple of years ago and some C::B developer (goes by name Obfuscated) helped me install a special branch that had latest debugger fixes and features. I believe they've fully merged it into version 12. C::B developers will correct me if I'm wrong. I'm now on GCC 4.7.2 and GDB 7.5 and everything works smoothly. However, I do need to mention that I have a bad habit of compiling C::B for my system from sources, rather than using precompiled binaries.