You can use either for game development. Some points people raise:
C++ is faster: Technically C++ is faster than C#. Consider the following, though. C# has a very good JIT compiler. To match the optimizations from C#, C++ itself needs to optimize properly. But with C++, you distribute pre-compiled code, which means you don't optimize as accurately and effectively as the JIT compiler, unless you decide that your program only runs on so and so type of processor. So C# is comparable or sometimes better than C++.
Properly optimized C++ code will still win, and this is usually in something low level like OS programming, drivers, and APIs between hardware and software. But with game development, you aren't making drivers or APIs. Rather, you are just using them.
Available libraries: People say C++ has more libraries for use. Yeah, or to be more accurate, C has more libraries. And given that C has been around for so long, that's obvious. C# is quite recent, and even then, it has a number of supporting libraries for game development. Many libraries and APIs for C/C++ have already extended support to C#. Pretty impressive.
C# is definitely becoming a language of choice. Actually, modern C++ has very powerful generic programming semantics, but any serious and advanced C++ programmer should be able to appreciate the usefulness of C#. It's a modern language with modern semantics, with points like documentation and unit testing in mind.
So again, either one.