Explanation (though more detailed than you may be looking for):
On web sites, there actually is no such thing as "online" or "active" or "present" or whatever. It's fudged by the server and guesses get made.
When you hit the site (anywhere on within vBulletin, doesn't matter where), it starts what we web nerds call a "Session".
This session is just thing the web application conjures up for keeping track of the state of things.
Sessions have a lifespan - they usually last a few minutes after the last request by that user. If you hit another page on the site before that time, the application resets the timer on your existing session.
It assumes you've been there the whole time, though it can't know that. There is no constant connection kept open just because you have a FWW web page visible in your browser. If you don't make a request to the server before the session times out, the server will assume you're offline and reflect that accordingly. The concept of online just means the server answered a request you've made recently. That's all it means.
The best way i can think of to describe it is like a CB conversation where if you started talking to me, and I replied, you would assume i was actively engaged in the conversation unless i took a very long time to say something. Then you'd wait for so long before you would just assume i wasn't there anymore. If you were to click the logout button, that would be the equivalent of saying "Over and out".
Does that make sense?
(There ARE ways that a web app can be more "stateful" with a definitive 'online' status that uses things like webSockets and such. vBulletin doesn't do that. It's just a standard session timeout kind of app)