Apple's Priority Queue
So I'm convinced Apple uses a Priority Queue to prioritize app reviews. I believe the following three factors greatly affect the priority assigned to an app submission:
- Whether the submission is an update to an existing app or an entirely new app
- How frequently a developer submits binaries
- How frequently a developer rejects the binary for a given submission
App updates seem to move through the review process more quickly than new app submissions. A higher priority is assigned to updates because the review team has already vetted the app being updated at least once. Updates also often bring bug fixes, which means a better user experience and happier iDevice owners.
Developers who submit frequently can take more than their fair share of the review team's time, so their submissions are assigned a lower priority. This group of developers might also introduce bugs in their hastily-completed updates, which requires additional updates to fix, more of the review team's time and therefore a lower priority in the queue.
New submissions can also be hastily thrown together. If you submit and developer-reject a binary several times, expect the priority of your submission to drop with each binary rejection. It would be a waste of the review team's (and other developers') time for Apple to start reviewing your app only to have you reject your binary in the middle of the process. This is factored into priority assignment to make sure you're satisfied with your build if you self-reject your binary (more than once?).
I believe Apple does all of these things to encourage developers to do a better job testing their apps prior to submission and to prevent high volume developers from hogging the review team's time. The net result is better quality apps on the store and a more fair review system than a straight FIFO queue would allow for.