The pulsed field gradient NMR spectroscopy has become an important analytical technique to measure the self-diffusion coefficients in polymer solutions, gels and melts. In the pulsed-gradient spin-echo (PGSE) technique, the displacement of the spins is related to the attenuation of the NMR echo height as a function of the gradient strength and duration used. The echo height attenuation versus the gradient strength is usually described by a mono-exponential function for classical Brownian diffusion. In complex systems, this dependence is not mono-exponential. Important information about the diffusant, network or both can be obtained from the non-mono-exponential dependence. This article reviews primarily the PGSE experiment used in the study of diffusion in various systems, particularly polymer solutions and gels. The principle and the experimental procedures including the pulse sequence, gradient and temperature calibration, are presented. The limitations of the techniques in its applications and the information which can be extracted from complex systems are also discussed.