The average time on page, and average time on site metrics at crudely worked out by Analytics by the time stamp for when a page is loaded.
So when someone visits your website at 9am, the clicks on a new page within your site at 9.05, and another at 9.10, you have three time stamps, and Analytics works out that page 1 has a time on page of 5 minutes, as does page 2, but because there’s no page 4, it can’t tell how long they were on page 3.
It works out the total time as 10 minutes, no matter how long the user scrutinises page 3.
If a visitor only views one page, time on page and time on site can’t be worked out, and this visit is tracked as a bounce. No matter how long they site there reading your content.
Avanish has a great explanation of this process with pictures – Time on page and time on site.