Silverlight is probably more of a competitor to Flex in nature since they are the tools of choice for developing RIA. Of course anything you can do in flex you can do in flash as well. My knowlege of silverlight is limited but there is nothing that you can create in flash that you can't create in silverlight and vice versa.
The main differences I see is that with silverlight you program in C#.net which offers things that AS3 doesn't. For example generics, operator overloading and threading (not sure if threading is included with silverlight framework, and there is psuedothreading for flash but its not like an inbuilt thing).
That being said I think you would be better off developing games in Flash (yes I am a little biased to). The games community in flash is more mature and proven with a great showcase of games. I am yet to see a game in silverlight that looks any good (and if there is it's in the minority).