In a nutshell
A diffusion model learns to generate images by learning to remove noise. In the forward process it takes a real image and adds random noise over many small steps until nothing is left but static. A network is trained to undo one of those steps — to predict and subtract a little noise. To create something new, you start from pure static and run that denoiser over and over (the reverse process), and a coherent image emerges. Condition the denoiser on text and you get tools like Stable Diffusion and DALL·E.