I can't possibly see a reason why controls weren't able to be mapped in the first place. I appreciate I can only see one side since I don't work in games development, but when you consider what marvels they are able to conjure up with today's technology, then not being given mostly free reign to choose the controls seems odd. If there is a good reason for why this occurs I'd be interested to learn more, if someone could shed light on it?
I've had some experience of this, and whilst I think not being able to remap specific keys like arrow keys is unforgivable, it's actually quite tricky to create good remapping interfaces for games, especially ones that were designed for consoles originally.
In PC games you don't tend to have much in the way of context sensitive buttons. Because we have mouse and keyboards with loads of different buttons it's fairly common to have separate mappings for most functions.
With console games they have a limited set of buttons on the controller, so unless your game is fairly simple control wise - say a beat-em-up or a driving sim - where each button only has one function in-game, you have to double up with context sensitive controls, so each button may have several different functions depending on what you're doing in the game.
In, for instance, an open world game where you can do lots of different things like walking, driving, fighting, flying, etc. you have to change the button assignments on the fly which makes it tricky to make them remappable without having lots of restrictions as to which controls you can remap and which ones you can't, and of course you have to have a fairly complex interface to allow you do do that and to handle any conflicts. A game like that may have over a hundred different in-game functions that need to be bound to the controller buttons.
When you convert a console game to the PC keyboard and mouse you have to decide which functions will unique and which ones will be context sensitive. It's fairly complicated, and difficult to get right.
Another issue is that many games have on-screen help which needs to change to reflect the remapped buttons. Again this is not as simple as you might think, and requires a lot of work. For a console game you'll only need icons for the controller buttons, but on the PC you'll need to take account of all the keys on the keyboard and the mouse, plus joysticks and controllers.
One final issue is that apart from the xinput devices, all PC controllers are different and have different numbers of buttons, axes and layouts, which make it difficult to support fully custom remapping. It's worse when you have to deal with help messages, because of the non-standard button layouts and naming. So for example you'll rebind your controller buttons, then you'll get a help message in game which says 'press button 1 + 2' to perform an action. What are buttons 1 and 2? You can guarantee many joypads will have playstation like button icons, not dinput button numbers.
So it is tricky to support full remapping, but that doesn't excuse needless restrictions like not allowing you to bind mouse buttons instead of keyboard, or preventing people using arrow keys or the keypad, because those are completely artificial restrictions, that aren't needed if you've implemented remapping properly in the first place.