When you start taking the random variables away, you also take away a sense of danger that is important for a CRPG. When you take away too many random variables, you begin to leave the territory of CRPGs and instead start entering into the action genre for real-time games, or visual novels for turn-based. The random variables are essential to what a CRPG is, especially when you consider that CRPGs are supposed to be emulating the tabletop RPG experience.
Exactly.
The effect randomness has on the player is of making him experience uncertainty. If a person is certain about the result of something, she will take that for granted and will probably not pay too much attention. With uncertainty, the outcome of a situation is unknown, and if it is something we care about, we want to know what will be the resulting outcome (e.g. in horror, one of the possible outcomes is always something very unpleasant, and since it may or may not happen, the person will always be on edge)
In games which player skill predominates, it's the player who's solely responsible for a successful outcome. That is, if he's skilled in performing a specific activity he'll probably succeed, unless his opponent is more skilled than him.
As such, any variable/uncertainty that can negatively or positively affect the player's performance should be removed (if possible), as a way to ensure that the only factor to be taken into account is player skill, thus making the resulting outcome "fair".
In role playing games though, it's not player skill that usually predominates, but character skill. So the chances of success in a specific situation depends of how skilled the *character* is in performing an activity.
Usually the more player skill-based a game is, the more simple its activity also is. All of those player skill-based games require the player to engage in activities that usually require good hand-eye coordination, with little time to think. With such a small amount of time to react, the activity must be simple, not complex by any means.
In character skill-based games, the player depends on his character's skill to succeed. Since the player does not perform the activity, he usually takes the role of taking decisions for his character -- thus less time spent "reacting", more time spent planning.
And since the player is not his character, it makes sense to have some metric to determine how skilled a character is, and that's why we have skills and numbers -- these enable the game to acknowledge what a certain character is good at. After all, a computer game is nothing but an approximation, not the real deal.
As such, character skill = chance of success.
So the more skilled the character, the higher the chances of success, be it in stealing, killing, hiding, persuading or whatever. The less skilled, the higher the chances of failure. And yes, sometimes even high skilled characters should be allowed to fail, and low skilled to succeed. (One thing to note is that not everything should be random, like eating or sleeping, unless under special circumstances such as when sick)
It makes sense, doesn't it? If my character sucks at stealing, the chances that he fails should probably be really high. That's why to compensate, a lot of games had parties of characters. Each character could be good at different things, an so each one would balance out the other's inabilities.
This problem affects mostly single character games. There's no one to compensate for the player character's inabilities, and thus developers usually allow him to be a jack of all trades by default.