Why is a contact who is online shown as offline?

Windows

When someone signs in to Skype, their status will show them as being online.

However, sometimes they may not be visible straight away or they may have set their status to Invisible.

If the contact is online, you can call them or send them instant messages even if their status has not yet been updated. If you do call or instant message them, their status will usually be updated immediately, unless they have chosen to be invisible.