A lot of Hindu gods have human heads. However, this is not the case with Lord Ganesha, who has an elephant head. Why does he have an elephant head?
There is a story behind the elephant head. I would certainly write one but with some broken grammar so I preferred quoting it from Wikipedia.
One day Goddess Parvati was at home on Mt.Kailash preparing for a bath. As she didn’t want to be disturbed, she told Nandi, her husband Shiva’s Bull, to guard the door and let no one pass. Nandi faithfully took his post, intending to carry out Parvati’s wishes. But, when Shiva came home and naturally wanted to come inside, Nandi had to let him pass, being loyal first to Shiva. Parvati was angry at this slight, but even more than this, at the fact that she had no one as loyal to Herself as Nandi was to Shiva. So, taking the turmeric paste (for bathing) from her body and breathing life into it, she created Ganesha, declaring him to be her own loyal son.
The next time Parvati wished to bathe, she posted Ganesha on guard duty at the door. In due course, Shiva came home, only to find this strange boy telling him he couldn’t enter his own house! Furious, Shiva ordered his army to destroy the boy, but they all failed.
This surprised Shiva. Seeing that this was no ordinary boy, the usually peaceful Shiva decided he would have to fight him, and in his divine fury severed Ganesha’s head, killing him instantly. When Parvati learned of this, she was so enraged and insulted that she decided to destroy the entire Creation. Lord Brahma, being the Creator, naturally had his issues with this, and pleaded that she reconsider her drastic plan. She said she would, but only if two conditions were met: one, that Ganesha be brought back to life, and two, that he be forever worshipped before all the other gods.
Shiva, having cooled down by this time, agreed to Parvati’s conditions. He sent Brahma out with orders to bring back the head of the first creature he crosses that is lying with its head facing North. Brahma soon returned with the head of a strong and powerful elephant, which Shiva placed onto Ganesha’s body. Breathing new life into him, he declared Ganesha to be his own son as well, and gave him the status of being foremost among the gods, and leader of all the ganas (classes of beings), Ganapati.
Also, not only Ganesha has an animal head, Hanuman is nothing but a monkey god. Same with Varaha which is an avatar of Lord Vishnu in a form of Boar.
There are several Puranic stories about Lord Ganesha and his elephant head. These stories are:
Once Parvati, just for fun, prepared an image of a child with an elephant's head, out of the unguents smeared over her body and threw it into the river Ganga. It came to life. Both Ganga and Parvati addressed the boy as their child. Hence Lord Ganesha is known as Dvaimatura, 'one who has two mothers';
Parvati prepared the image of a child out of the scurf from her body, endowed him with life and ordered him to stand guard before her house. When Siva wanted to enter the house he was rudely prevented by Ganesha. Siva became Rudra and got him beheaded. Seeing that Parvati was inconsolable, Siva grafted an elephant's head on the body of the boy and gave him life. Siva appointed this new-found son as the head of all his retinues, who thus became 'Ganapati'.
He sprang from Siva's countenance which represents akashtattva (principle of ether). His captivating splendour made Parvati react angrily and curse him, resulting in the elephant head; and
Ganesha was originally Krishna himself in the human form. When Sani, the malevolent planet spirit gazed at him, his head got separated and flew to Goloka. The head of an elephant was subsequently grafted on the body of the child.
All these Puranic stories are taken from the book 'Hindu Gods and Goddesses' by Swami Harshananda. Swami Harshananda of the Ramakrishna Order is an Advaitist and does not take the Puranic stories seriously. The learned Swami gives several views regarding the meaning of the elephant head. First he points out that Ganapati had gained de facto recognition in the hearts of millions of votaries over several centuries long before the Puranas were written. Several Puranic stories reflect the struggle by various Puranic authors to give de jure recognition to Ganapati! He gives the following possible meanings of the elephant head:
'Gana' means category. Everything that we perceive through our senses or grasp through our mind can be expressed in terms of category. The principle from which all such categories have manifested themselves is Ganapati, the Lord of categories. In effect, it means the origin of the whole creation, God Himself;
A common Sanskrit word to denote elephant is 'Gaja'. Hence the name Gajanana or Gajamukha (elephant-faced) for Ganapati. But the word 'Gaja' has a deeper connotation. 'Ga' indicates 'Gati', the final goal towards which the entire creation is moving. 'Ja' stands for 'Janma' or birth or origin. Hence 'Gaja' signifies God from whom the worlds have come out and towards whom they are progressing, to be ultimately dissolved in Him. The elephant head is thus purely symbolical and points to this truth;
A factor we observe in creation is its two-fold manifestation as the microcosm (Suksmanda) and macrocosm (Brahmanda). Each is a replica of the other. They are one in two and two in one. The elephant head stands for the macrocosm and the human body for the microcosm. The two form one unit. Since the macrocosm is the goal of microcosm, the elephant part has been given greater prominence by making it the head.
The elephant-human form of Ganapati is the iconographical representation of the great Vedantic dictum, 'tat-tvam-asi'(which means You the apparently limited individual are in essence the Cosmic Truth, the Absolute). The elephant stands for the cosmic whereas the human stands for the individual.
REF: Hindu Gods and Goddesses by Swami Harshananda
Ganesha has an elephant head because Lord Shiva had cut his head off. He was not letting Lord Shiva into his house because Godess Parvati didn't want Lord Shiva in to his house. Then Parvati in anger made Shaktis and made them kill the Devas and Shiva's Ganas so Bramha Vishnu apologized to Parvati so Parvati said get the head of the first creature you meet so then Bramha and Vishnu first met a elephant. Then they put the head of the elephant and Ganesha got a elephant head. It says here.
The reason behind Ganesha's elephant head is due to Lord Shiva cutting of his real head and giving an actual elephant's head. When Parvathi Devi was taking a bath, she sees that the house is unguarded. So she creates a human figure to guard the house. This figure is called Ganesha. She orders him to guard the house and let no one in during her bath. When Shiva comes home, Ganesha does not realize that this is Lord Shiva and does not let him in. Lord Shiva, in anger, cuts his head off with his Thrishulam. After Lord Shiva cut off Ganesha's head, he realized his mistake and then asks Vishnu and Brahma to get the head of the first animal that they encounter. They encounter an elephant and cut off its head and give it to Lord Shiva. Then, Shankara fixes the head onto the body and gives birth to Ganesha, the elephant-headed god.
The evidence is here.