VS2012 interface is awful out of the box but thankfully, as has been mentioned here, you can change that. I have not used it much for C++ but have for C#. However since I make heavy use of R# I cannot comment on the out of the box features of it b/c R# offers so much more. One thing that 2012 does offer is better TFS support and integration. As well the UI performs much better than 2010 since it does not make use of WPF and the experience is more consistent. I also find the text easier to read than the supposedly clearer text of 2010 which I found to be a blurred mess and prompty disabled all text features and moved back to the font used in XP. Eventually I moved back to proggy clean and haven't looked at any other fonts since then.
CLI intellisense was completely missing in 2010 so its nice to have it back in 2012 even if it does not work as well as managed intellisense. I find that builds seem to be quicker and less error prone than 2010. 2010 seemed to still suffer a bit from the 2008 issue where one compiler thread would open a file and lock it and forget to unlock it before terminating which would cause a build error.
Overall I like 2012 but my absolute favorite over the past few years is 2005 or 2008 (minus the horrid mt.exe build error bug). 2010 just has too much UI fanciness going on and it performs miserably when it comes to viewing datasets (often they do not render at all). I have had experiences where vs 2010 simply failed to render the text unless I highlighted the entire file. Not a major issue at your desk but def causes problems when it happens in a group meeting or code review.
- 2005 felt minimal, slick and very responsive.
- 2008 was much the same but had a terrible multi-thread compiler bug that was supposedly fixed in SP1 but still had issues. Forced me to turn off multi-thread builds.
- 2010 was too bulky, too ui intensive, slower to build, etc. Removing the folders from the project options was perhaps the biggest annoyance of 2010. Very good option for the source configuration management folks, but terrible for projects that relied on the default folders in there to build. Now each project is forced to have the folder settings in it instead of using a global setting as before. For instance my projects relied on Direct3D folders for libraries, etc. I put this in the global options for VS so that all other projects would build. In 2010 these folder paths are local to the project forcing me to add the Direct3D folder paths to every single project. No CLI Intellisense was also a serious issue.
- 2012 is back to a minimal UI (maybe too minimal in the way of default colors and the ugly CAPS) but is very responsive and fast.
In general I also do not understand why managed Intellisense is so good (maybe too good) and unmanaged is just awful without a 3rd party plug-in.