Until recently, if you wanted to develop for Windows Phone, and actually run your apps on your phone (as opposed to the emulator) you had to register for a $99 (USD) Windows Phone developer account. This cost has always been a substantial barrier to entry for many would-be (Windows Phone) developers. That is, until recently.
Recently, two things have changed to make this much better.
First, the $99 registration amount has been changed to $19 (annually). This price is much more reasonable for most people (though free, it could be argued, would be even more reasonable :-). The $19 price was originally a temporary promotion but, according to a tweet from Todd Brix (General Manager of Windows Phone Apps and Store Team), Microsoft is keeping the price at $19.
Second, Microsoft made a change that I hadn’t noticed until recently. Originally (before ~August 6th), you couldn’t deploy apps under development to your phone unless you had registered for a Windows Phone developer account (back to the $99/year cost again). Now Microsoft has made a change that allows any Windows Phone developer to push up to two apps to a single phone with no cost. If you do have a Windows Phone developer account, you can push up to 10 apps to as many as three phones.
Combining these changes along with Microsoft’s outstanding development tools give developers practically no reason not to developer for Windows Phone.