Plain C++ is a poorly designed mishmash of ideas shoehorned into one language. C++/CLI is all that but with a bonus layer of shit caked on top courtesy of Microsoft. It's sold as a way to bridge C++ and .NET, but actually attempting to use the two together is so fucking painful you'd be better off hacking on your testicles with a mallet.
If you need to interop managed and unmanaged code, use plain C interfaces. If you want to code .NET use C#. Don't even consider the abortion called C++/CLI.