How does the Kinect work?

It's really interesting when we see the Kinect working. I'm talking about the XBOX Kinect. What thing makes the Kinect work properly? Which programming language is used in order to program games for Kinect? Which is better among the Kinect and Play Station Camera? Are PS Move and Kinect similar to each other?
