If you want to know why the word Visual is associated with so many software titles it is because you have Visual Studio which is the whole suite of four languages: C++, C#, Basic, and J#. But, you can also buy software and books which encompass only each one of those individual languages: ie Visual C++, Visual Basic etc. .
The NET part of the Visual Studio .NET stands for the ability to use the framework of assemblies, namespaces and classes which are set up for you to use. When you use the NET framework it is called managed code as noted by the previous poster. Manged code has the memory allocation manged for you.
I believe the word NET refers to the fact that these classes and namespaces were designed to make it easy to write programs that can integrate into internet networks. You are given prewritten classes using such features as network sockets, XML services, database services, and such. :eek:
It also is important to note that NET classes are designed to be able to handle cross-language programming. This is due to the fact that NET programs are compiled into an intermediate language IL. Then the final compilation is done at run-time. So, a Basic class can actually inherit from a C++ class (although I've certainly never tried it myself

.
You can download a free trial of some of the Visual Studio 2005 Beta 2 software. You can also buy some used Visual Studio 6 on ebay. They also have Visual Studio Express for free. But, the Express does not support MFC code.
My experience has been initial mass confusion when installing and learning Visual C++ NET for the first time. But, when you examine all the available classes and namespaces using the Object Browser feature then you see that the NET framework contains a huge amount of well organised classes to start with compared to any previous versions of C++.
One source of confusion is that when you read sample code from c++ books it may not work within the Visual Studio environment until you make subtle changes to the code or to the Visual environment's options. For example: old header files may not work, 2003 syntax (__gc) may not work, precompiled header files may have to be changed, etc, etc. . Most of the code can function within the new environment if you learn how to change the Visual Studio environment options or if you alter and update the code a bit. But, most code will fail to work properly if you just type or paste it into the environment without any changes. This can drive you insane when you are just learning. :evil:
The easiest way to avoid these problems is to use a book that exactly matches the software. For example you would have to use Visual Studio NET 2005 book with Visual Studio NET 2005 IDE environment. If you try to use the 2003 book with the 2005 environment then you would have to change the compiler options to use the old syntax. That is easy for an old pro....but another monstrous obstacle for a beginner.