Waves move generally perpendicular to their wavefronts (think of the crest of a water wave), but for wavefronts striking barriers, the resulting motion is not immediately obvious.
A simple non-mathematical way of viewing and understanding wave propagation was introduced by Huygen. Each spot on the wavefront can be considered a source of a semicircular "wavelet". Where all the wavelets merge is the new wavefront and the source of the next set of wavelets.
The reason goes to the fundamental notion of what a wave is. Our compact expression for a wave is a "self-propagating disturbance." Each point on a wave contains the makings of the future version of the wave.
Each spot on a wave can be thought of as the source of a new semicircular wave
moving forward. The
(possibly curved) line defined by the leading edge of all these semicircular wavelets is the new
wavefront. See the figure below.
The wave at left...
creates a series of wavelets...
which creates a new wavefront (blue).
If we have a plane wave, and if each points sends out a little semicircle,
then moments later their combined
fronts create a new plane wave, just moved slight forward.
However, if something blocks a portion of the plane wave, then many of the wavelets are blocked,
resulting in a rather different wavefront...
which travels into the region behind the barrier. See next image.
This is the basis of diffraction.