I am a member at another forum that uses vBulletin as well, and we have basically attributed this problem to deleted posts in a thread. It seems that the forum gives a thread the number of pages needed to hold all the posts made in it, both posts that are visible and deleted posts.
For example, if a user has their preferences set to 30 posts a page, there were 63 posts made, but 5 were deleted by the mods, the forum would show the thread as having 3 pages, but only 58 posts, which would only account for 2 actual pages. This happens a lot in threads that are popular but also have a decent amount of deleted posts.
This was really noticeable in the other forum that I am at, as we had at thread that had climbed up to about 3,500 posts (we cap off threads there at 5,000 posts) when an argument broke out that went on for about a month before the mods stepped in. In all there were about 60-70 deleted posts from the thread, and the forum would show the thread as being 2 or 3 pages longer than it actually was.
This is also why the "extra page" does not show up all the times. In my example in two paragraphs above this, if there were 50 posts made, and 5 deleted, then the forum would show only 2 pages, as it would allot for 50 posts which would still be 2 pages, while there were only 45 viewable posts.