Mushroom

Mushrooms can grow in dark caves and shady areas. They are more readily available in swamp, roofed forest, and mushroom island biomes, as well as in caverns and in the Nether due to the low light conditions. They have also been known to spawn in forests, jungles, and mega taiga biomes. A brown mushroom alone will increase the air block it occupies by one light level. Red mushrooms are generally rarer than their brown counterparts.

Obtaining
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 or podzol blocks, where mushrooms will remain planted even under full sun).

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

Mushrooms will pop out of the ground if water flows over them, if they are pushed by a piston, or if the light level goes above 12 and the block next to them updates.

Huge mushrooms
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
When sheared, mooshrooms drop 5 red mushrooms.

Natural generation
A single red mushroom generates in witch huts. Mushrooms are randomly generated anywhere in the Overworld.

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 or Podzol 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 if their psychoactive properties have 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 islands having Mooshrooms, making red mushrooms more common there.
 * Mushrooms are one of the few blocks an Enderman can pick up.
 * Brown Mushrooms emit a very small amount of light but it's so small it has to be completely dark to notice it.
 * If The Player enters the Void at the top of the Nether, they may find mushrooms on top of bedrock blocks.
 * Mushrooms can often be seen in a ring around tree trunks due to the shade provided by the tree's leaves.