Mushroom

Mushrooms can grow in dark caves and shady areas. They are more readily available in swamp and mushroom biomes and the Nether due to its low light conditions. They have also been known to spawn in jungles. Red mushrooms are generally rarer than their brown counterparts.

Mushrooms can be collected by hand and planted on the ground in light levels below 13 and not directly underneath the sky. (except in the cases of mycelium blocks, where mushrooms will remain planted even under full sun).

Mushrooms grow only at light level 12 and below, except when planted on mycelium. Mushrooms grow at the same rate regardless of light level. Brown and red mushrooms grow at the same speed.

Planted mushrooms will grow into huge mushroom when bone meal is used on them provided they are planted on a dirt square, and if they have sufficient room to grow. When growing on any square, mushrooms will pop out of the ground if the light level goes above 12 and a square next to them updates, water flows over them, or when pushed by a piston.

The individual blocks of huge mushrooms will drop individual small mushrooms when broken by the player. The blocks cannot be set on fire and are unaffected by lava.

Mooshrooms are a unique mob that serve as a source for red mushrooms (when sheared) and mushroom stew (when "milked" by the player while holding a bowl).

Smelting
As roses do not exist in the Pocket Edition, smelting is the only method to acquire rose red. The player cannot smelt red mushrooms for red dye in any other version.

Pre-Beta
In Classic Creative mode, mushrooms were a decorative item, having no crafting use and remaining in the ground when planted. In Classic, mushrooms could be placed on any block except another mushroom, and would remain planted when the block below them was removed. During Indev, mushrooms were generated in rare instances under trees or in the shadows of other floating continents in the "Floating" map type. In Survival Test, pigs were able to eat mushrooms and sheep dropped brown mushrooms. Brown mushrooms healed and the consumption of red mushrooms caused  damage to the player's health. From Indev onwards, red and brown mushrooms could not be eaten on their own, but could be crafted together with a bowl to yield mushroom stew.

With the addition of biomes and the dimly-lit Nether in Alpha 1.2.0, mushrooms became a more common sight.

Beta
Mushrooms could be generated in the open when exploring during night, or under low-light conditions such as those found under trees or overhangs. If planted in direct sunlight or a light level higher than 12 they popped out of the ground. Several bug reports mentioned mushrooms growing on top of trees, but this was a very rare phenomenon.

With the Beta 1.6 update, mushrooms were given the ability to spread in light levels under 13 onto any square touching their own, including squares located upwards and downwards diagonally in Beta 1.6 (defunct guides to mushroom farming in 1.6 are archived here). Mushrooms could be placed on any solid, non-transparent, square including pumpkins, workbenches, furnaces, and chests. However, while mushrooms could be placed on Jack-'o'-lantern and glowstone blocks, they would not grow due to the brightness of these blocks.

After Beta 1.8, mushrooms' spreading ability was severely restricted - a mushroom would only spread if there were fewer than 5 mushrooms of the same type in a 9w x 9l x 3h area around the original mushroom. However, mushroom farming became easier in another way since Bone Meal could be used on mushrooms to grow huge mushrooms that dropped several individual fungi when harvested. Mushrooms could also be found more easily in the new swamp biome under vine-covered trees.

The first 1.9 pre-release revealed the addition of the mushroom biome, an island composed of Mycelium blocks and populated by huge mushrooms and Mooshrooms, strange red cows with red mushrooms growing on their backs. The second 1.9 pre-release added a new crafting recipe involving brown mushrooms. Each one could be crafted with a unit of sugar and a spider eye to produce a fermented spider eye.

Trivia

 * Sometimes you cannot place mushrooms. This is due to them requiring a light level dark enough to be grown on. However, you can grow mushrooms on Mycelium at any point in the day.
 * Red mushrooms bear a strong resemblance to Amanita muscaria (Fly Agaric) mushrooms. Consuming Amanita muscaria will cause delirium and hallucinogenic effects and death if their toxicity has not been reduced by parboiling. Similarly, red mushrooms in Minecraft caused damage to the player in the Survival Test.
 * Brown mushrooms are more common than red mushrooms in swamps, and this is balanced by mushroom biomes having mooshrooms, making red mushrooms more common there.
 * Mushrooms are one of the few blocks an Enderman can pick up.
 * As of 1.2.4, the ability to exploit a block update glitch to plant mushrooms in daylight has been fixed. They previously remained planted until a block update happened next to them, then popped off. This could be used to grow giant mushrooms with no restrictions, as the mushroom grew before block-updating when right-clicked with bone meal, and led to serious misbalance in the survival part of the game as soon as the player found two mushrooms and a bone.
 * Mushrooms can grow on the leaves of trees.
 * Brown Mushrooms emit a very small amount of light but it's so small it has to be completely dark to notice it.