I submitted an app ~1 year ago and it was approved in 4 days. I submitted a lite version of said app two weeks ago, the day before iTunes Connect went down for the holidays, and it was approved and available the day they came back from the break (about 1 week later).
I will say that I got more feedback from the reviewers this time around versus one year ago.
I'm ashamed to say that I'm guilty of misrepresenting snowflakes.
I wrote an iPhone app last year that allowed you to create virtual paper snowflakes, and I didn't realize until later that all the flakes it created were "abominations" that had 8, 10, or 12 sides.
I was a little surprised by the amount of feedback I received explaining to me exactly what was wrong with the snowflakes in my app. Unfortunately, I haven't gotten around to fixing this egregious error just yet ;) .
I fully recommend you read Infoquake and Multireal (the first two books of the Jump 225 trilogy) by David Louis Edelman.
It has everything you're looking for.
I recently had a game approved and the entire review process took less than 4 days. After it was approved, it took about 6 hours for it to show up in the store.
This was my first app so I figured I'd be waiting at least a few weeks. I was happy (and very surprised) to see it accepted so quickly.
I have no real idea of what causes the varying review times.
I will say that I got more feedback from the reviewers this time around versus one year ago.