Simple, they had a big pair of blinkers on... and for some reason thought C# is the best thing since sliced bread for all circumstances. I said from day one as a biased C++ Windows CE programmer, they had a major brain fart when they decided not to support C++ on WP7. I really think it was simply "lets force developers to use C# that will differentiate us, because our dev tools are world-class", which is true in some respect but they missed the bigger picture which the last 3 parent posts hit hammer to nail on.
Look at all the videos of the sub-standard games on WP7, they are extremely laggy and due to the nature of .NET CF, I am sure developers have very little scope for optimisation.
This stems from what seems to be a deep cultural problem in their organisation. I personally think they hit rock bottom when a myriad of windows mobile/ce developer blogs were silenced all of a sudden. It was like the dev teams were trying desperately to interact and build a community, when some executive realised that their shit stunk so bad they had shut-up avoid further embarrassment.
So even if the fish's head is rotten at the top, they are swimming in their own filth and can't do much about it.