๐Use gradient noise functions for map generation
Large/3D terrain maps can be generated by layering multiple gradient noise functions. You can use a couple of noise functions with different amplitude and frequency (scale) to generate a height map. (See Fractal noise)
Then additional gradient noise functions can be used to sprinkle additional features: assign different terrain types, add trees and plants. One can use a 3D noise function to add 3D features like caverns.
Pros
Because noise functions are deterministic, the whole map can be generated incrementally from a seed value. This can be used to generate huge maps without having to store them in full.
Cons
Noise functions tend to get repetitive, so you need to combine multiple functions.
It might be hard to generate realistic/interesting terrain with noise functions.