Note: Some gamepads are clunky in the implementation of their buttons and would never work as directional controls.
So this would be good for DDR 
Absolutely.

So long as you can select any button to equal your arrows in the controller set-up.
Interesting related note: No directional device can be in opposite directions at the same time, so any application which uses arrows (like a dance pad) and where opposing directions of those arrows are to be actuated at the same time, must use something other than a directional control. I.e. Buttons

It's programmable like everything else, right? The labels on the board are just defaults/mame setup.
Not this time around. There were several reasons for this decision:
-Due to the whole directional thing above, a joystick control should stay a joystick control.
-Unlike a keyboard control, where specific keys can be expected to perform specific functions with the computer in a general sense, there is very little distinction between button 2 and button 20 on a gamepad.
-It's a simple matter for programmers to allow controls to be re-defined by the software and since button layouts vary wildly on game controls, this ability is standard fare on almost all games.
Programmability adds an unnecessary level of complexity to the device and would just duplicate the above. One only needs to pick a configuration they are comfortable with and set up the application(s) appropriately.
Or, if you're lazy, you can hook up the joystick inputs as required and then just make sure the buttons are hooked to
any of the button inputs. All you have to do then is run the configuration editor for the game/application one time, click on the action and then hit the button on the panel you want it to be equated to. No thinking necessary!

Have a pic of it next to a quarter or something else for size comparison. Even though I know how big a 40 pin header is.
Think KeyWiz Eco2. It's the same size.
RandyT