While there are certain language specific things supported in each like operator overloading in C#, Im pretty sure they are equals in that they both sit on the same framework and therefore have the same power exposed to them. I think language choice is purely what one feels comfortable with and it just happens that the MS guys are more comfortable with C#. If my customer didnt specify VB, Id be coding in C# right now too just because I like the C# syntax much better than VB.