Hot water is more effective for cleaning dirty dishes for two reasons.
First, hot water melts fats and softens other food particles, making it easier for detergent to penetrate them.
The active ingredients in dishwashing detergent, known as surfactants, are chemicals that bind fat and water together so they can be removed from the dish.
That is why grease can be cleaned off a plate without detergent, but the water would still leave a greasy residue.
Second, hot rinse water removes more of the thin film of dishwater residue that is left behind after washing, again because it melts fat and softens other kinds of dirt.
This residue causes rinse water to puddle on dishes.
When the water evaporates, it leaves behind deposits of salts and other minerals, causing spots.