How it works
Two transforms of a plain noise field, and between them they account for most of the difference between a field that looks like a computer made it and one that does not. Both are worked out once on a fixed grid and sampled between the nodes, so the picture is the same at every sheet size.
Domain warping is noise looked up at a position that noise has already moved: not f(p) but f(p + w · f(p + offset)), and again if you want. The field stops having one characteristic size, because different parts of it have been pushed different distances — so it grows tendrils, eddies and stretched regions instead of the even lumpiness Perlin noise has on its own. It is two lines of code. Set the warp to zero and compare; that is the whole demonstration.
Curl changes what the field means rather than what it looks like. Read a noise value directly as an angle and you get a field with sources and sinks: streamlines pile into some places and drain out of others, which is why an ordinary flow field ends up looking combed. Read the noise as a potential instead and take the perpendicular of its gradient, and the field is divergence-free — nothing can accumulate anywhere, so it reads as smoke or water. A useful thing falls out of the definition: the streamlines of a curl field are exactly the contours of its potential. Switching between the two drawing modes draws the same curves by completely different means.