Why do they do that kind of thing? If anything, you might expect them to include less RAM & storage so that you're forced to work under tighter limitations.
It's so you can leave debug symbols in your executable: for a release you'll strip your binaries and pack them quite tight. For developing you'd like to have more uncompressed data in ram, and you want full debug symbols and debug info on the stack. Not to mention that debuggers themselves take a non-zero amount of ram.
There is no reason to work under tighter constraints. You want developers to be able to push the retail version of the hardware to the limits. In order to do that and still be able to run debug builds you need the dev kit to be more powerful than the retail version.