VB.NET i C# to języki praktycznie równoważne - oba działają w bardzo podobny sposób, opierają się na platformie .NET, mają dostęp do identycznej biblioteki standardowej, kompilowane są do identycznego kodu pośredniego. Różnią się w zasadzie tylko składnią i paroma bardzo niewielkimi szczegółami. No i faktem, że C# jest o wiele bardziej popularny.
W Visual Studio możesz pisać w C++, C#, VB.NET, F#, JavaScripcie i kilku innych językach - np. Python, TypeScript. Fakt, że poradniki nie przewidują Visual C++ do pisania w C++ nie musi bardzo przeszkadzać, ale może. C++ ma różnorodne implementacje biblioteki standardowej, różne implementacje różnych wersji standardu i wielką różnorodność tworzenia aplikacji okienkowych na przykład. A do tego - kilka specyficznych odmian, np. C++/CLI, które jest kompilowane do kodu platformy .NET i korzysta z jej bibliotek.
Java to język bardzo podobny do C# (a w zasadzie to C# jest bardzo podobny do Javy) z założeń, ale różnią się pod wieloma względami w swoich obecnych wersjach.
Ogólnie: język to narzędzie. Wybierasz ten, który akurat najlepiej ci pasuje do spełnienia danego zadania, dlatego warto znać więcej niż jeden. Niektóre języki, jak C++, C#, Java, są równie dobre do tworzenia większości aplikacji, o jakich możesz pomyśleć, ale źle się sprawują w niektórych dziedzinach - np. C++ niekoniecznie jest najpopularniejszym językiem pisania dla telefonów komórkowych (poza grami - ale się da), C# niekoniecznie nadaje się do programowania systemów wbudowanych (ale się da), a w Javie raczej nie robi się gier na PC (ale się da - Minecraft).