Randomness

This topic is covered unusually well by other sites, but I'll cover it here, briefly.

Uncertainty

If things are too predictable, players can simply solve your game. That's no fun. Things should be somewhat uncertain.

A good designer adds uncertainty by using interlinking, hidden information, and interaction between components or players. This makes the game too strategically complex for the players to solve, so they need to use their judgement, which is fun.

A bad designer just throws in randomness, to create the uncertainty. It does the job, but with a host of downsides — it's often feelbad, disruptive, and anti-meritocratic.

If you're looking for a way to resolve combat or some other event, use hidden information, not just randomness. If I attack you, I don't roll a die. Instead, you may play a shield card from your hand.

You want players to have some ability to deduce or reason what's going to happen — not total ability or inability.

Also, you only need one source of uncertainty.

In my adventure game, monster cards just said "lose 3 health, and gain 2 gold." Drawing them was already random, so there was no need to add a combat system, to make it even more random.

Input & output randomness

Input randomness gives people randomness, but then lets them do something with it. The most common kind is simply drawing cards. You get random cards, but then you get to use them as you wish, and they have their non-random effect. This allows the player to strategise, and do meaningful things.

Output randomness means that you make your choice, and then the randomness occurs.

In Scrabble, you draw tiles, but then you can play them how you like. That's input randomness.
In Monopoly, a player draws a card, and something happens immediately. There is no strategy in this output randomness.

Randomness is useful

A small amount of randomness is usually a good thing.

Some playtesters will tell you to remove all randomness from your game. Ignore them. A game with no hidden information and no randomness will be very chess-like.

Randomness makes each game different.

Chess starts out exactly the same each time, which is less interesting, and allows players to memorise opening sequences.

Randomness means a weaker player has a chance of beating a better player. This means that every game is a serious competition.

I'm an excellent Scrabble player, but anyone can still beat me.

Randomness is exciting. Randomness is generally maligned in strategy games, but some games are about the surprise and excitement of randomness. For fun and light-hearted games, blatant good/bad output randomness is entirely appropriate. Also, if there's constant randomness, it tends to even out.

Using output randomness

While raw good/bad output randomness is un-strategic, it can certainly be entertaining. The game needs to be built around it however. You don't want output randomness in most games. Bingo has no strategy, but it can be fun.

In the Charlie and the Chocolate Factory-themed Golden Ticket Game, the players try to get tickets. At game end, each ticket allows a player to open a chocolate bar, to see if there's a golden ticket in there. If you find one, you win. This is massively random, and would be an abomination in most games, but here it's perfect. There is simple fun in randomness, and the theme calls for exactly this.

If you do want output randomness in a game that's not just light fun, try to remove "bad" outcomes of output randomness. The best output randomness gives different and interesting results, not good/bad results.

In one of my prototypes, there was very clear output randomness. You could try to use a skill, like Climbing. You'd roll a die and add your Climbing skill score. If the total was high enough, you succeeded. However, if you "failed", you learned from it, and your Climbing skill score increased by one.
Multiple playtesters of the Radlands expansion submitted the "crazy hospital" card idea. This thing might heal your person, or it might kill them. Wacky! This output randomness was really un-fun to play, and out of place in Radlands. I eventually made a version which healed your person if successful, but gave you a refund, and turned your injured person into a punk, if it failed. Punks are okay, so everyone was happy to try out this card, because there was no real downside.

Even if you have good and bad results, avoid making them "strictly worse" results. This is where one result is equal or better in every way. Make the weaker results still cool or interesting in some way.

Dice

If you're using dice, avoid using dice such that something is equal to the roll of the dice. (i.e. you move that many spaces, or get that much money.) Instead, the dice should just be different numbers (and maybe you have to try to get them to match), or they should correspond to things.

With custom dice (where the faces are icons or effects, not just plain numbers), I like to have two faces the same, and the rest different. It gives a bit of structure to the die, where a basic or important effect is more common. If you have two pairs, or three faces the same, you might as well not have a die. They're expensive, and you should be filling them with interesting possibilities. Also, anything is more interesting than a blank face.

Bad outcomes

You can make rewards random, but generally not penalties.

Randomness can often be very feelbad.

Getting a bad roll or card draw is feelbad, but, obviously, not all rolls or draws can be the same.

When a player gets something "bad", don't make it clearly worse than another option, in every way. Just make it different in some way, to hide the fact that it's worse. If you have a Spear with scores 3 and 3, it's fine to have an Axe with 1 and 4, even though it might be worse. It at least has some upside over the Spear. What's not okay is to have a Sword with 2 and 2. This is strictly worse than the Spear, and the player who gets it will feel ripped off. Obviously, if these things have costs or other factors, it's fine. Also, if the better version is rare, and the weaker one is common, that's fine, too. People will expect the weak Sword, and be pleasantly surprised to draw the stronger Spear.

Make it different in some way, to try to muddy the waters a bit.

In my gangster game, I had a die that causes other players to lose an amount of health. One face of this die was just the "1" — one damage. This roll felt terrible. I decided to turn the "1" roll into "Shakedown". This meant that each opponent could give you a dollar, and if they didn't, then they'd lose one health. This was still a poor roll, but people were usually pleased to gain a dollar or two, and they didn't feel like they just rolled the worst option.