The fact that the loot is generated when the level is loaded also makes sure that the "random" is not really random. For instance, if we make a loot table Cupboard that has 10% chance to drop a diamond, and there's 10 cupboards in the level, we now force the fact that one of those cupboards must have a diamond. The chance of the other 90% stuff gets smaller and smaller as you don't find the diamond.
When using a real random, it's based on luck, and you may have found 4 diamonds or no diamond at all!
So if we now create loot tables and we specify these "chances", we keep the game a lot more balanced, and we have a lot more control over what items you find.
There's a story behind each and every one of those changes