There are two high-level SDKs that you can use to build Kinect applications relatively easily. The first is OpenNI+NITE by PrimeSense, the company that designed the sensor used in the Kinect. The other is Microsoft's own Kinect SDK which is based on C#.
Both of these have very restrictive licenses. If you're not a hobbyist or an academic, there's no clear path to acquiring a license that would allow you to deploy applications. I imagine PrimeSense is happy to license their toolkit, but I have no idea about the price -- I'd imagine it's not cheap. The Microsoft SDK is going to be available for commercial licensing next year, but the terms are not known yet (AFAIK).
There is a third option for building Kinect applications, and this is the one I chose for my software. Instead of using the high-level SDKs, you can access the raw depth camera data from the sensor using a free driver. The data is quite clean because the Kinect does a lot of processing internally, so all you need to do is build the high-level interface -- i.e. interpreting the depth data to detect people and gestures, or whatever it is that your app needs to do. This way, the resulting app is not tied to the PrimeSense or Microsoft SDKs.
Asus has licensed the sensor for a Kinect-like product for PCs, but it's still not available off-the-shelf. It also won't work with the existing free Kinect drivers, so porting will be needed to switch to the Asus.
Asus should embrace the free drivers, BTW, and make whatever they build compatible with them.
But that would, probably, have a very negative impact on their Windows OEM pricing...
Unfortunately the project I made was nothing like that. The client was a major Finnish multinational tech company (one that doesn't make phones), but their R&D is so backwards and completely oriented towards incremental improvements that this project had to be sneaked in through the marketing budget, using whatever crumbs of money they had left.
Regarding the the upcoming commercial release, the FAQ implies that those commercial restrictions will be lifted, but of couse, the exact details aren't yet known: "Under the terms of the [current] SDK license, remember you cannot receive payment for your application, use your application for advertising, use your application to solicit donations, or use your application in your internal business operations. The commercial release, which is coming in early 2012, will remove these constraints."
Historically, Microsoft trying to exert control over how exactly their product is used has not been a problem anyone has had.
If anything, one could argue that their product's quality (perceived and real) has been diminished by giving 3rd party developers too much freedom to run amok.
To give a counter-example, while it's been a while since I was involved in Windows development, I do remember an instance where a developer released a unit testing plugin that happened to be compatible with VS Express, and was forced to withdraw it at Microsoft's insistence. There was no quality issue there (not that I recall, anyway), it was purely a market segmentation and control ploy to ensure that anyone who wanted "serious" functionality had to buy VS Pro.