Before we go on learning more about Code::Blocks let us understand why we shall use Code::Blocks over other IDEs.
It is a cross-platform Integrated Development Environment (IDE). It supports Windows, Linux, and Mac operating system.
It supports GCC compiler and GNU debugger on all supported platforms completely.
It supports numerous other compilers to various degrees on multiple platforms.
It is scriptable and extendable. It comes with several plugins that extend its core functionality.
It is lightweight on resources and doesn't require a powerful computer to run it.
Finally, it is free and open source.