When designing an experiment, the experimental units that are available are often very variable. This variability can be ignored and the treatments can be applied to them in a completely randomised design.
However if the available experimental units differ from each other in ways that are understood before the experiment is started, it is often possible to group them into blocks of similar units. These blocks of units may be natural groupings (e.g. adjacent plots of land or animals in different herds) or the blocks may be formed as groups that are 'similar' according to any other criteria.
Randomly allocating the treatments separately within each block (rather than within the pool of all experimental units) provides more accurate estimates of the effect of the factors than would be obtained in a completely randomised design.