As someone who has done a baby, very tiny amount of games programming and music programming, I'll also point out another thing that's neat about the 360 controller in particular: it's immensely easy to program for. 90% of the time it "just works" with whatever you're trying to do, and the handful of times it doesn't there are plenty of libraries or tools to get it working.
So it's wildly cost-effective hardware, incredibly easy to use by trainees, and easy to get working with most tools. Win/win/win.
-Andrew W.