I've recently noticed that several websites, e.g. Amazon, Dockers, etc. say "If you are not -username-, [click here]" instead of an explicit logout button. Is this another example of hiding the logout button, or is there another reason for it?
Some sites show this in the header to indicate a presumed identity for low risk actions (like add to wishlist), but you can't actually buy anything until you log into the site. So "log out" here would be misleading.
Sometimes "Not John? Sign out." is shown as in place of 'sign out' when properly signed in. This is simply a more human way of speaking to your users. Personally I prefer it, but I have no data showing that it performs better than the vanilla 'sign out'.
Naming it "sign out" is actually missing something important; clicking "not Bob" doesn't just sign you out of Amazon, it presents the page to sign in. So you're not really just signing out, you're signing back in as someone different; because you're not Bob, you're Alice. I think this is an important distinction from the current answers; you're doing more than just logging out, you're starting a path to log in as a different user.
But there's no need to fully explain the situation and have a long "Not bob? Click here and we will sign you out and then sign you back in"; instead one Call to Action is presented at a time. First I see "Not Bob? Sign out" so I sign out, then I see "Sign In: What is your e-mail address?" Well my email address is foo! Then I'm signed in and dumped back at whatever page I was on, signed in with the correct credentials
I have actually come to appreciate this approach, especially with Amazon, as I commonly use several accounts (employer, personal).
I regularly need to answer the question "What account am I signed in as" and if it is the wrong one, I need to switch without much hassle. After all, I usually only care who I'm logged in as if I'm going to make a purchase, and I don't want to accidentally have a personal charge come in on the company credit card.
For the business, losing a sale because a user abandoned the sign-out-of-wrong-account-sign-in-as-correct-account process is a real problem, and the easier and quicker that process is, the more sales they will have.
The approach described in this question is very effective for this use case, which isn't limited only to my scenario. Households with multiple users who share a computer can also benefit, for example.
A button that says "Logout" doesn't help, because if I'm logged in as the right user, I don't want to log out. Rather, in a short, human readable phrase, the system tells me who it thinks I am and gives me a means to quickly change identities.
Usable systems leaves little ambiguity in the user's mind about what the state of the system is. Who the system thinks I am is a pretty important thing, and this approach is one way of keeping the user informed while also giving a clear path to taking action if the system status is incorrect.
Another reason: for many users, it is more understandable.
"Log in" and "Log out" are odd concepts, written in computer-speak, and with terminology left over from timeshare machines. (What are you 'logging', anyway? Are you a log now?) We're so used to them after 40 years, but they still trip up new users.
The language "If you're not FOO" is in the user's language--everyone understand the concept of identity, and most are familiar with names.
I think this is more for users that login from a shared computer. The link provides both a visual indicator for the next person that accesses the site from the same computer that someone else logged-in (and didn't logout) while also performing the appropriate steps for that user once they realize this.
This is not appropriately a substitute for a logout button or link, as users should be logging-out if desired or appropriate, e.g. because other people will or may use the computer and they shouldn't access the site using the same account.
"Not John, sign out" is NOT a more human way of speaking to users. Do you know of any humans that speak that way?
Being concerned that users don't understand the terms "sign in", sign out", "log in", "log out" is valid, but silly. They have already established their ability to handle the paradigm and its language by using the device competently enough to get to the web site.
The idea of identifying who is logged on, at the top of each page is good and obviates the need for a button that reminds them of who is logged/signed in.
There is no excuse not to provide a log/sign off button.