Verstehst du schon richtig.
Ursprünglich war C++/CLI als Sprache geplant, die die C#-Klassen, -GarbageCollector etc verwendet, aber C++-Schreibweise hat (wie ein if ausschaut, mit Klammersetzung und so; wie Klassendefinitionen geschrieben werden etc...).
Der Punkt mit C#-Klassen wurde geschafft, die Sache mit C++-Schreibweise nicht so wirklich.
Die Syntax ist jetzt kein C# (dann wäre es ja komplett gleich wie C#) und auch kein richtiges C++, sondern was neues eigenes. Erkennbar vor allem an "gcnew", "^" und "ref" im Code.
Was bei C++/CLI aber möglich ist: Man kann es mit normalem C++ im gleichen Programm mischen.
Deshalb heißt es in VisualStudio auch nur "C++".
Wenn du den CLI-Teil nicht verwenden willst kannst du problemlos ein normales C/C++-Programm reinschreiben. Wenn du die C#-(.NET)-Klassen aber verwendest kommt der Compiler damit auch klar.
Die Winforms sind dabei eben aus C#/.NET genommen.
Gruß