Mushrooms have two types: red and brown. They can only grow in light levels of 12 or less (unless on Mycelium, a very rare block found in Mushroom Biomes) and can only spread in light levels of 13 or less. This makes them hard to farm without mobs spawning. However, Mushrooms are necessary if one wishes to brew many negative potions - or even make them into Mushroom Stew, an unwieldy (it can't stack) but useful food.
When both types of Mushroom are put in a crafting grid with a Bowl, they produce 1 Mushroom Stew.
If the rare Mooshroom mob is sheared, they will drop 3-5 Red Mushrooms and turn into a normal Cow. Mooshrooms appear to be mutated cows that have red mushrooms growing on them.
When Bone Meal is applied to a Mushroom, it may become a Huge Mushroom. Each of these immense fungi can make a suitable home- or you can use an Axe on them to gain as many as 5 Mushrooms a block!
Mushroom Biomes and Mycelium
The extremely rare Mushroom Biomes are the only places in which Mycelium and Mooshrooms appear. They have a groundcover of Mycelium and have Mushrooms and Huge Mushrooms scattered about randomly. These biomes are almost completely safe from hostile mobs (spawners can still work and mobs can still run/teleport/fly here) and are a great source of Mushrooms. This only works on red mushrooms.
Mushrooms could be eaten raw in Classic. They were dropped by Pigs and Sheep. Brown Mushrooms healed 3 hearts, but red mushrooms removed 2.5 hearts.