In cases like Android, the reason for having an internal codename is that you need a way to refer to the next release before the marketing department has made the final choice of the next version number.
Of course in Android's case this broke down when the marketing department started broadcasting the codenames, and even changing them. But I think they've got bored of that now.
Of course in Android's case this broke down when the marketing department started broadcasting the codenames, and even changing them. But I think they've got bored of that now.