For creature generation, it all depends on how difficult the code is.
The simplest would be a having a fixed set of creatures with no variety. Adjusting the scale is relatively easy (small to large creatures). Having multiple textures (and randomly selected textures) is a little trickier as it involves paying a lot of attention to the seams (e.g. if a creature has a blue head and red body, what happens at the neck?).
After that is "mesh tweaking". In this case you have "control points" that can be adjusted to change certain aspects of the mesh. For example, it wouldn't be too hard to to adjust the length of a creature's tail by defining the tip of the tail as a control point and using a few formulas to determine where nearby vertices are in relation to the tip of the tail.
The next level of complexity is to have a set of body parts that are stitched together. This can be relatively easy (e.g. 5 different shaped heads that are interchangeable), but it can also be very complicated (e.g. random numbers of arms and/or legs and/or tentacles, with severe difficulty animating the creature) .
The last level of complexity would be procedurally generated randomised meshes. It would be extremely difficult to generate the meshes, then extremely difficult to generate suitable textures, then extremely difficult to animate the creatures.
What I'd do would be a mixture of the first 4 techniques (scaling, texture selection, body part stitching and mesh tweaking). Basically, get a random number and use some bits of that number to determine body type (e.g. beast, blob/mould, bug, fish, cephalopod, etc); then have different code for different body types that use the next bits of the random number to select attachments (head, arms, legs, tail, fins, wings, etc) and their textures; then use more bits of the random number to adjust any control points in the meshes; and finally the last bits of the random number determine the scale of the creature (huge to tiny).
For example, the first few bits might select "bug"; then the next bits might select "head shape 2", "wing set 1", "leg set 3", then "tail type 2". For "head shape 2" you might have a control point that determines proboscis length and a choice of 3 textures; so the next bits determine the proboscis length and which texture to use for the head. For "wing set 1" you might have a control point for wing length and a choice of 2 textures, so the next bits determine those things; etc. Then the last bits might determine that the scale is 5. You might end up with a randomly selected 5 meter tall flying bug with orange fur, green wings, a scorpion-like tail and short legs.