I expect the idea behind that is for the user experience. A non-Apple mail client, for example, won't have the level of integration into the system (send mail from apps/camera/etc., notifications, background process that never quits) that Apple's will, and they seem unwilling to expose that level of functionality to developers. There's plenty of things wrong with that kind of thinking, but it's consistent with Apple's philosophy about core functionality.
It's also beneficial for things like the browser and email client to be consistent, so that services targeting iPhone have an easy testing platform. As a web developer I like knowing that every iPhone is using Safari and renders HTML email using the mail app. I already have enough platforms (4 versions of IE, Firefox, Safari, Chrome, Opera, iPhone, Android, Blackberry, WinMo) without the mobile platforms becoming fragmented.