Bucket

Buckets are tools used to carry water, lava, milk and fish.

Usage
Empty buckets can be used to "pick up" a water or lava source block by pressing item on a block of the relevant type. Similarly one can press when looking at a cow or a mooshroom to fill a bucket with milk.

A bucket filled with a source block can then be used to place its source block contents in the empty block next to the side of the block the player is currently looking at, or replacing the block looked at for some replaceable blocks.

A bucket full of milk can only be emptied by drinking it or by using it in crafting a recipe (like cake).

An empty bucket can be used to empty a full cauldron, filling the bucket with water.

Bedrock Edition
Buckets use data value to determine contents. Once used, each data value is set to 0 (Empty Bucket). If no data value is provided, data value is 0.

Trivia

 * In Bedrock Edition, buckets can hold any block, with the data value corresponding with what will be placed. An exception to this is stone, whose data value is replaced by the milk bucket. Keep in mind all of the special buckets can only be obtained with an external editor or commands.They have the normal bucket sprite.