Introduction
Madhu is an Asura, born together with Kaitabha from an impurity in Vishnu's ear while Vishnu slept on the cosmic ocean, who attempted to kill Brahma and steal the Vedas, and was killed, with his companion, by Vishnu.
Origin
At the start of one cycle of creation, while Vishnu slept in yogic sleep on the serpent Shesha, two demons, Madhu and Kaitabha, arose from an impurity (mala) in his ear. As Brahma sat on the lotus growing from Vishnu's navel, about to begin creation, the two demons threatened to kill him and seized the Vedas, which had slipped from Brahma's mouth or which they intended to steal outright.
Vishnu's awakening
Brahma prayed to the sleeping Vishnu, sometimes through the personification of Yoganidra, "sleep", asking her to leave Vishnu so he could wake and act. Vishnu woke, fought the two demons for a very long time, by some accounts five thousand years, and finally killed them by placing them on his own thighs, where there was no water, satisfying a condition of a boon they had received not to be killed on dry land or in water.
Madhusudana
From this act, "slayer of Madhu", Madhusudana, becomes one of Vishnu's most common epithets in devotional literature, including in the Bhagavad Gita, where Arjuna addresses Krishna by this name.
Meaning
The story of Madhu and Kaitabha is placed at the very start of creation in several Puranas and is read as an account of the recovery of sacred knowledge (the Vedas) from primordial chaos before ordered creation can properly begin.