The below shows a system I built a while ago, where you use two perlin maps to
simulate temperature and precipitation to generate a semi-realistic biome model.
I reused an old colour map to represent these biome values.
Minecraft, for example, uses this same method.
Play with the sliders to get a sense of what does what.
I won't go into how it works specifically, but noise functions can be used for all sorts. Having a sort of weighted location system is invaluable, particularly in game design. Pair that with logic and condition gates and you can generate an incredibly detailed, natural looking, world.
Having designed a single UV tile, I converted it to coordinate data and generate tiles entirely with code.
By pulling the biome data, I can then recolour each segment to create smooth terrain transitions, using a colour map of rgb values.
The result is a wide range of terrain, stemming from a single pieces of art.
I originally developed this technique for my game KhĂ´ra, but found it too computationally taxing to use at the time.
Although now having made this, maybe I should revisit it...