When you put in check-in something, you let to know everybody work on your same server that this element is locked by yours, and only you or an administrator can remove the check-out.
You have to use it when you start to work on a component for two reasons:
1) in this manner is eliminated the risk of overwrite beetwen two or more people that could work at the same time on the element
2) you can't update on the server a convalidated thing that was not on check-out status
The procedure to do the second point is the "check-in"