If you were using VC6 or something, that'd be likely. VC6 was a generally bad compiler, and VS2002's C++ compiler wasn't much better. Allowed some very bad things.
These days, though, VS2008's compiler is as standardized as anything GCC has produced (and is a little further along toward the incredibly misnamed C++0x--GCC is currently denying the existence of a strict aliasing bug in GCC 4.4). The integrated debugging environment is also leagues further ahead than gdb, especially if you do any multithreaded programming in C++ ("why, you poor fool" comes to mind, but I'll be nice...!). Comparing the two is downright silly in terms of usefulness and user-friendliness.
I've used Code::Blocks when I absolutely had to use GCC for classes. It's certainly not bad. Hamstrung by its reliance on user-hateful subprograms, but it's a decent IDE. Key word: decent. It's also not Visual Studio, and from what you're saying, it seems like you're comparing it to a version of Microsoft's software that's at least eight years old. There's a reason why Visual Studio is the de facto standard for C++ development, and it's not because people just don't recognize how great Code::Blocks is. (Isn't because of "hurr it's Microsoft," either--they beat the pants off of all comers. Given how bad their stuff was until the 2005 release...that's much more damning to those competitors than it is praiseworthy of Microsoft.)