Principle: Make die rolls random, but outcomes statistical.
While dice and other random number generators may appear to go against the notion that players should be in control of their fate, they are, in fact, a great way to mimic complex systems without having to simulate the myriad elements that make up the real thing. You don't make a game like Civilization by constructing accurate models of medieval weapons, or by modeling the human musculoskeletal system and pitting simulated humans against each other; what you do is come up with a statistical model for battles and incorporate that into your game's mechanics.
Think of a roll of the dice as obtaining a single sample from a statistical model: The number that comes up is determined at random, but it's the state and rules of the game which determine what happens when that particular number comes up. Players win by making choices, manipulating the game state (or, sometimes, the rules) in such a way that random outcomes are
biased in their favor.
The outcome of the game is determined not by the act of rolling the dice or clicking a button, but by choices like how to move, when to attack, when to retreat, and when to upgrade.