There are various categories that procedural generation can be divided into:
- Random procedural. Each time the game is run or a level is generated a process builds content from a random seed. Roguelikes and other endless level games do this.
- Fixed seed random procedural. Using the same algorithm as above but the seed value, and thus the output, is constant from run to run. Daggerfall is an example of this.
- Precomputed random. The output of the generation algorithm is stored and used later. Minecraft's levels when stored become this with #1 used on new terrain when the world border is reached. Also Dwarf Fortress' worlds are this.
- Programmatically altered data. Certain predefined source data such as height maps are treated by algorithms such as erosion sim and stored away for later use in schemes like #2 and #3.
These aren't hard distinctions, there will be overlap between these. The amount of randomness vs. simulation is independent of what type of generation is, and even the most hard simulationist approaches tend to use randomness to approximate statistical processes for perfomance's sake.
Oblivion was precomputed, from fixed seed based on programmatically altered data.