It is a sunnah to take Ghusl for:
- Jumu^ah (Friday) Prayer
- The 2 Eid prayers
- The Ihram (proscription - entering the sacred state) of Hajj Pilgrimage
- The pilgrim in the place of ^Arafah on the day of ^Arafah, after the sun's zenith.
It is Mustahabb to take Ghusl (Full Body Wash) for:
- The one who became muslim and was Tahir (otherwise he must take ghusl).
- The one who reached puberty by age.
- The one who became sane after being insane.
- The one who did hijaamah (cupping with small cuts to let some blood out).
- The one who washed a dead person.
- The night of the middle of Sha^baan.
- The night of Qadr, if he saw it or according to narrated hadiths.
- Entering Mediinah (the Prophet's City - may Allah raise his rank).
- Staying in Muzdalifah in the morning of Eid in Hajj.
- Entering Makkah for Tawaaf of Ziaarah (the obligatory one in Hajj).
- The prayer of the eclipse of the sun or moon.
- The prayer of asking for rain.
- A prayer performed due to fright.
- A darkness that happened during the day.
- When there is very strong wind.
- Repenting from sins.
- The one who returned from travel.
- The one who is wanted killed.
- The woman who's irregular bleeding stopped.
- For throwing pebbles in Hajj.
- For wearing new clothes.
- For going to a gathering of people.
- The one who came in contact with something islamically filthy (najis), but does not where it is on his body. This is also true for his clothing in this case - it is better to wash all of it.
Source: "al-Maraqi" and "al-Durr al-Mukhtaar"