In a crystalline material, a dislocation is capable of traveling throughout the lattice when relatively small stresses are applied. This movement of dislocations results in the material plastically deforming. Pinning points in the material act to halt a dislocation's movement, requiring a greater amount of force to be applied to overcome the barrier. This results in an overall strengthening of materials.
Types of pinning points
Point defects (as well as stationary dislocations, jogs, and kinks) present in a material create stress fields within a material that disallow traveling dislocations to come into direct contact. Much like two particles of the same electric charge feel a repulsion to one another when brought together, the dislocation is pushed away from the already present stress field.
The introduction of atom1 into a crystal of atom2 creates a pinning point for multiple reasons. An alloying atom is by nature a point defect, thus it must create a stress field when placed into a foreign crystallographic position, which could block the passage of a dislocation. However, it is possible that the alloying material is approximately the same size as the atom that is replaced, and thus its presence would not stress the lattice (as occurs in cobalt alloyed nickel). The different atom would, though, have a different elastic modulus, which would create a different terrain for the moving dislocation. A higher modulus would look like an energy barrier, and a lower like an energy trough – both of which would stop its movement.
Second phase precipitates
The precipitation of a second phase within the lattice of a material creates physical blockades through which a dislocation cannot pass. The result is that the dislocation must bend (which requires greater energy, or a greater stress to be applied) around the precipitates, which inevitably leaves residual dislocation loops encircling the second phase material and shortens the original dislocation.
Dislocations require proper lattice ordering to move through a material. At grain boundaries, there is a lattice mismatch, and every atom that lies on the boundary is uncoordinated. This stops dislocations that encounter the boundary from moving.