Procedural textures are textures (sometimes also called maps) that are generated by the computer using a fixed set of parameters. This means that the computer can make unique variations of a texture all by itself!
The process used to do this is called procedural generation.
Procedural generation is a blanket term for when a computer generates data automatically, rather than the user having to do it by hand.
This is often used in many other areas of 3D work and gaming. Minecraft, for example, has a map that is procedurally generated which is what allows it to be so large. The manpower to make things that size would be impractical.
Procedural textures can be found in some 3D software by default, and in specifically made texturing software too.
Substance Painter is a good example of software that has several types of procedural generators in it to make unique textures easily.
When you’re working with a procedural texture generator you’ll be given a set of parameters to work with so the computer knows what kind of result you’re looking for.
For example, if you are running a generator for bricks, you might be able to decide the brick shape, the gap in the grout, how dirty they are, etc.
It is also possible to create a generator yourself for a specific texture from scratch. But this can require a lot of coding knowledge and time. So it is almost always the better option to find a generator that someone else has produced online (just be sure to check the relevant usage rights!).
There’s a lot of benefits to using these textures. First, you have a generator established and it’s much easier to make the textures, with the computer now doing all the work for you.
Second, there is no fixed texture size so you can make the resolution whatever you need. This is useful if you are producing a high resolution render that will be blown up onto a billboard or used in many different mediums.
Procedural textures are also very good for generating randomized noise maps.
This is useful for making rough surfaces easily using the bump and reflective glossiness maps in your material. The ability to make these simple procedural maps can be found in many modern 3D packages, so they are very easy to access.
Bottom line: procedural textures are a very useful addition to the 3D workflow, as they make texturing common objects a breeze with more automation to save time.