This seems to explain it, there are three possible config values for "Thread/Forum Read Marking Type":
Thread/Forum Read Marking Type - vBulletin.org Forum
The meat of the first post quoted here since it's not TOO long, though the rest of the thread may be interesting to admins:
Thread/Forum Read Marking Type
1) Inactivity/Cookie Based
Once a user has been inactive for a certain amount of time (the value of the cookie timeout option) all threads and forums are considered read. Individual threads are marked as read within a session via cookies. This option is how all versions of vBulletin before 3.5 functioned.
2) Database (no automatic forum marking)
This option uses the database to store thread and forum read times. This allows accurate read markers to be kept indefinitely. However, in order for a forum to be marked read when all threads are read, the user must view the list of threads for that forum. This option is more space and processor intensive than inactivity-based marking.
3) Database (automatic forum marking)
This option is the same as a previous option, but forums are automatically marked as read when the last new thread is read. This is the most usable option for end users, but most processor intensive.