Shelved means the changes are set aside for you to work on later.
Checked in means that the changes are made available to the rest of the team, will be in the build and will eventually ship.
Very different. Think of shelving as a tool for context switching when you're not done with a task. Checking in means you're done (at least a part of it).
You can shelve your changes at the end of the day if I you are working in something big that you can't check in. That way, if your PC dies overnight, you have got a backup on the server.