Purpose of using a randomized block design

What is the purpose of using a randomized block design instead of a completely randomized design? When should this be used?