The two pieces of hardware are virtually identical, as asalamon74 points outas asalamon74 points out. There are only a few hardware differences, with a larger set of restrictions based on firmware.
To extend on what asalamon74 has already pointed out, here are some direct answers to your bullet points:
- Connectivity for both devices are USB. If you get a Kinect for Xbox as part of a bundle (i.e., with an Xbox 360) you will need to buy an adapter, available from Amazon and others. The adapter comes with when a Kinect for Xbox is sold individually (due to older Xboxs not having the required port).
- Hardware is virtually the same. Kinect for Windows has a shorter USB cable. Kinect for Windows may have a better microphone array, but I can't be sure of that. Other then that, they are basically the same.
- Driver/API is the same for both devices. The official Kinect for Windows SDK, OpenKinect SDK and OpenNI SDK will all work with both devices.
- License allows you to use the Kinect for Xbox for anything except a deployed (commercial) application.
I use both for development. I have two Kinect for Windows that I use at work and I have a Kinect for Xbox at home. I bring work home with me frequently and I'm able to develop with either version of the hardware, depending on where I am.
There are a few firmware differences that can cause a bit of a hick-up in development. For example, Kinect for Xbox does not support "near mode" tracking. Of course, it only effects you if you're trying to use those features.
Microsoft has said that they are actively developing the SDK with the Kinect for Windows in mind. Although functionality is very close now, that is not necessarily true in the future. Microsoft could very easily flip a switch to disallow Kinect for Xbox to be used in SDK v1.7 -- unlikely, but possible. Although more expensive, Kienct for Windows is a safer buy.