Creating complicated models using scripts
Scripts (as far as I know) can access almost every part of Blender. There are scripts to create relatively complex objects, but they are usually add-ons instead. For example, there are add-ons to create trees and mountains.

To answer the rest of your question, scripts to generate complex meshes are not usually seen for two primary reasons:


Usually complex meshes require much care and an artist's touch. The artist wants complete control over the creation, and will use scripts only to create the simple pieces that are repetitive, then put them together into a more complex mesh. This is good, because computers aren't creative, but are very good at creating lots of things with simple variations.
Scripts to generate complex objects that are not extremely simple are usually broken out into separate programs. For an artist to relinquish control of their hand in the art to a program to generate, or in many cases, simulate, they still need to have lots of options to control the simulation. They want the program to be complicated and advanced, with lots of options. This is why, usually, scripts to generate mountains, trees, or people are often separate programs, then the meshes are just imported. Some examples are MakeHuman, The Grove, and World Machine. These programs have all had much work put into them as standalone programs that are useful in their own right. The other benefit of this is that now these generated meshes can be used in (mostly) any 3D software.