Unless they've dramatically improved it in a few years, it's labyrinth of configuration menus. apt-get and CMake significantly simplify the process of integrating other libraries.
That certainly has not been my experience. Integrating libraries in VS is dead-easy and if you don't know how to do that, perhaps you haven't tried very hard? Once you've done it a couple times, it gets extremely easy to do and honestly I don't even really think about that portion of the process at all.
I know you can have CMake create a VS solution, but haven't played with it much. Does it also create a filter file to organize the files in the VS project tree according to your project directory structure? I'd hate to blindly walk into an unorganized VS solution with thousands of files in one big, unorganized (other than alphabetical, I guess) list. That btw, is one of my big pet peeves with Visual Studio. Mirror the fucking directory structure FFS. Allow people to optionally specify their own filter files or something if they want to be bat-shit crazy and ignore actual folder structures, but mirror the fucking directory structure by default. (NOTE: If there is an option to do this, I'm all ears.)
As for the linux/windows programming discussion going on, king makes a good point. A very significant amount of my time spent on a project that is non-trivial will be in the debugger, and the debugger in VS is much better than anything else I've ever used (gdb with and without gui front-ends, lldb, eclipse for Java projects) from a speed/ease-of-use standpoint. Yes, you can learn gdb and become very competent at it. It is an able debugger with nice features and there are some gui front-ends for it if you don't want to learn the keybindings for using it on the command line, but I've seen nothing out there that compares to the VS debugger experience. I don't get to use VS at work, and damn do I miss it. I would probably be more productive if I could use Visual Studio (intellisense + the VS debugger).
Instead, I am primarily on the command line at work, which I actually like to some degree - the linux command line is pretty great and I feel a bit handicapped without it on Windows - cygwin is a decent substitute but it can be finicky. For an editor, I use emacs with autocomplete + yas + irony-mode with company-mode backend. It's about as good as it gets for emacs, and it's dogshit slow on anything but the smallest code-base. When I want autocompletion options because I don't quite remember the functions associated with a class (but a name would jog my memory enough to use it), I basically write out the instance name, and then a period (or the dereference operator if it's a pointer to an instance), and wait 3-7 seconds for the irony-mode autocompletion to get results (uses clang libs to accomplish this I believe).
I've tried using eclipse CDT - it does not handle our codebase well (and eclipse is pretty heavy and awful anyways, so not surprising) and in general is just slow and cumbersome.