The benefits are:
- You will be moving from a 5+ year old compiler which had poor template support to one which is much more up to date and standards compliant.
- You will spend less time investigating compilation issues which turn out to be a known problem with the compiler and not a problem with your code.
- Widely available C++ literature and documentation will be much more relevant to your compiler.
Cons are:
- It may take some time, time which might have been otherwise spent for instance adding new functionality to your product.
The biggest issue in porting is likely to be any code you have which is non-compliant yet VC6 allowed to compile. This code may fail to compile on VS2008. I guess also some of the Win32 API's may have changed, likewise for the MFC & ATL classes.
The easiest way to get a feel for the size of the problem is to tackle a single small project which has no dependencies on other VC projects. See how many errors you get and how long it takes to fix them.