Get halfway through a model and find it's an unworkable mess? Can't add edge loops where you need them? Can't subdivide a mesh properly? If any of this sounds familiar check this course out.
Ever heard of the program "Faces" that the police use to ID criminals?
It could be done in 3D, relatively easily . . . . if someone were to write the code.
How? Well, take the example that I have attached and run polygon>smooth on it . . . . then consider what would happen if you could introduce functions to change the facial features by manipulating the location of the points in the basic, un-smoothed head, to get the desired results, i.e. larger or different shaped nose, etc. . . .