Who throws the dice in your game? Do you want to see/know the numerical results? Does it impact your roleplaying? Personally, unless I'm in a formal tournament, I prefer not throwing dice and not knowing their results (i.e. the DM throws them behind the screen for me and then tells me in a "wordy" way what happens) as this helps my roleplaying, but I know other players that like to openly roll the dice. What are the pros and cons of players not rolling the dice and especially the impact on fun through roleplaying?
In my experience, the driving factors in this choice are less about fun and roleplaying, and more about practicality.
Specifically, having players make their own rolls takes some of the pressure off the DM, and gives him some time to think about the consequences of the roll, the probability involved, and generally not be actively doing something for a couple seconds. It spreads the responsibility for maintaining the game (which normally tends to pool on the DM) around the table a bit.
This will vary from system to system and DM to DM, of course. D6 and roll and keep would be nightmares (so... much... counting), while old-school D&D wouldn't be a huge deal. Individual DMs will have varying tolerances as well...
Regarding your actual question, let's talk about roleplaying. In my opinion, hidden rolls are a useful tool for perception, stealth, and knowledge related checks. Not knowing the result takes a lot of burden off of the player, and frees them to roleplay appropriately. I talk about this a bit in another question. Note that there are some strong dissenting opinions on this... You can find them in the comments and other answers to that question.
For more procedural rolls (attacks, damage, climbing checks, and so on) it doesn't really matter one way of the other. Knowing the roll ahead of time can help you add a bit of description before the DM starts, but this isn't a make or break kind of thing.
Ah, fun. This is where things get complicated, because everyone has a different idea of what fun is. Roleplaying in particular appeals to different people for very different reasons.
Some people show up to be told a story (that they somewhat participate in). For them, it doesn't really matter if they roll or not as long as they trust the DM to tell a good story. The ups and downs of their character, even the rules of the game themselves, aren't as important as a good narrative. In fact, having to think about numbers and rolls in general only serves to pull them out of the mood.
Some people show up to tell their story. They want to have an active part in the storytelling process, and want power to shape the narrative. They're more likely to want to roll the dice themselves, so that they know that their character isn't being "cheated" for the sake of the DM's story.
Finally, some people show up to play the game. They're more actively interested in the mechanics of the system and their characters. They'll definitely enjoy things more if they can roll their own dice (most of the time), because it lets them see the gears of the system turning in front of them.
Of course, these are broad strokes... Most people will draw from several categories, or jump from category to category over the course of a night.
My preference, as both player and GM, is to have each player roll for their character.
There are several effects to so doing:
- the player is reminded that this is a game, not a cooperative story telling exercise
- the player is usually more invested in the result of the die-roll by performing the roll
- the game-master is less tempted to fudge the roll
- fewer and less profound hurt feelings over failures
- helps build a sense of tension when rolls are called for
- makes the mechanical side of the rules more clear as to when they are being invoked
While breaking into "this is indeed a game" mode of thought may be a problem for some, it's an important element of the Role-playing game versus the shared story telling exercise or the improvisational acting exercise. All are fun, but a significant part of the fun of RPGs is that the dice are a player, too. Giving them their turn makes RPG's very different from simple shared storytelling and from improvisational acting.
Tension building is an important element. I often have players roll for their stealth; I then have NPC's roll against that singular stealth roll... but knowing that they've done exceptionally or poorly helps build that dynamic tension in the scenes - on an exceptional roll, they know that anyone who spots them is ready for them, and on a poor roll, they don't know how far they'll get. Tension arises from expectations of the result by knwing the roll but not the outcome.
I see this as two things. If you throw dice, then you should throw them in front of everyone. If you hide dice throws, then you should not bother with throws at all: just make up the result that you want (read: what enhances the story).
The former. If you use rules to be fair to everyone, then you should have open dice rolls. There lady luck will play her part and screw you over more times than not. You may miss important plot lines, clues, and take the game in utterly random directions. Throwing dices can add to the tension of an encounter and move it into unpredicted directions. This is good. What is bad is that most rules are badly thought out and created without much statistical knowledge. A critical success or failure happens 10% of the time in D&D on a d20 roll. Seriously?
The latter. If you (as a GM or player) are going to fudge dice rolls, you may as well do so openly. Let the story dictate what you do: "What would make a better encounter", "What would be more fun?", "What would make this a better story?" ... Sadly, this does not work well with in a D&D "tactical combat" game -- which to be honest is closer to WOW or a war game.
Personally, I run systemless games so that whatever rolls I make are to get a statistical sample to modify what I think should happen to make the whole game more enjoyable.
Better yet, combine the two: So, here is an example mixing things. You are about to head into an ambush. The GM wants it to be tough fight but you will win in the end. You roll perception. As a GM, I would consider a failure that you spot the ambush in the nick of time to shout a warning. A success would lead to a few details: where the ambushers are, what tactic are they using, and maybe who the leader is. In this case, does it really matter who rules the dice?
What I would never do is make you roll perception and if you failed you would only know of the ambush when five flaming arrows with poison hit you for 7532 damage -- which I roll in front of you. What is the point in that?