I have created an app that works on my 4th generation iPod Touch and my company's 5th generation iPod touch.
We were about to release, when we found a crash that occurs after any non-developer device runs the app*.
The notion came up that a device registered as a 'developer device' gives your app more resources to use. This doesn't seem right to me, since I couldn't think of any reason that would exist - I feel like it is more likely an issue with building or provision profiling.
However, that prompted a discussion. Why do devices such as game console development kits, devices that have more capabilities than the target platform, exist in the first place? Of course it is nice to stress test a program, but wouldn't a more accurate representation of the target platform make more sense?
TL;DR - Why do development kits have more resources than target platforms?
*With a non-developer device being any >3rd gen. iOS device that downloads the app from our server, not directly from a computer with the app & xcode installed.
Note there is another question that reads similar, but it is actually different, because that other question is asking about simulator, and I understand that there are massive differences between using a simulator and an actual device.