Check-in and check-out allow you to lock document for editing. It ensures that no other user can edit document at the same time as you do. It's tightly connected with versioning and workflow.
If the document is checked out by another user, you cannot edit it.
If the document is checked out by you, you can edit it. After you finish editing of the document, you need to check in the document so that other users can work with it or so that you can approve it in the workflow and move the document to the next workflow step.
Every time you check out document, you can add a comment saying why you are editing the document. When you check in the document, you can modify both version comment as well as version number (1.0, 1.1, A1.2b, etc.).
See also: Workflow and Versioning Overview, Document History, Publish/Approve