この違いは、個人的な言語の好みというよりは、デザインの選択によるものだと思います。優先度は、VB と C# に関連しています。一般に、C++ または .NET を選択したアプリケーションで得られる違いは同じです。
C++ を使用すると、起動時間が短縮されます。IIRC、.NET 4.5 には自動 NGENing 機能があるため (メトロ アプリとの関連性は不明)、.NET アプリケーションの典型的な遅い起動時間を軽減するのに役立つ可能性があります。
C++ はガベージ コレクターを使用しないため、一般的なメモリ使用量が少なくなります。これは、タブレットなどのリソースに制約のあるデバイスではますます重要になります。IIRC、.NET 4.5 では、GC の一時停止 (UI がスタッディングする原因となる可能性があります) に対する緩和策が強化されていますが、マネージ コードを使用する場合でも、それらは現実のものです。
.NET と C++ は同じ WinRT フレームワークを使用するため、XAML/WinRT プラットフォームとのやり取りにはおそらく大きな違いはありません (技術的には C++ 経由で WinRT オブジェクトとやり取りする方が高速ですが、ヒットは非常に小さいです)。通常、コードは .NET よりも C++ の方が高速です。
C++ は一般に、難読化された .NET コードと比較しても、リバース エンジニアリングがより困難です。ずるい泥棒は、関係なくあなたの IP を盗むことができますが.
.NET は最初に開発者の利便性と開発者の生産性のために作成されたため、アプリケーションを設計する際により多くの便利なオプションがあります (DI/IoC などのリフレクション ベースのツールなど)。
.NET は C++ よりも高速にコンパイルされるため、アプリケーション コードの反復は .NET を介して簡単に実行できますが、正しく作成された C++ プロジェクトは大幅に軽減できます。
純粋な .NET プロジェクトは "任意の CPU" をサポートできます。つまり、アプリケーションは、サポートされているすべての WinRT プラットフォームで実行できます。C++ プロジェクトは、ARM、x86/64 をサポートするために再コンパイルするだけです。.NET アプリケーションがカスタム C++ コンポーネントに依存している場合は、アーキテクチャごとにコンパイルする必要があります。
WinRT は多くの言語をサポートするためにゼロから作成されたので、C++ に慣れていない開発者への私の提案は、.NET に固執し、C++ の恩恵を受ける分野を探求することです。Microsoft は /CX プロジェクションで素晴らしい仕事をしており、ほとんどの C# 開発者は自分の道を見つけることができるはずです。C++ 開発者への私の提案は、C++ に固執し、C++ のすべての利点を得ることです。