In Mexico, Cinco de Mayo is celebrated in a very low-key manner. Sure, schoolkids get the day off, but the only major parades and fiestas taking place south of the border are held in the city of Puebla, where there's a military parade and a mock battle is staged to commemorate the battle of Puebla which is the origin of this holiday.
So why is Cinco de Mayo celebrated with such fanfare in the United States?
It seems to be more a question of marketing than anything else. With the large population of Mexican descent living in the U.S. it makes sense to celebrate Mexican culture, just as Saint Patrick's Day is a day to celebrate Irish culture, and also, for many, an excuse to party hard.
History of Cinco de Mayo in the U.S.
In 1862, at the time the Battle of Puebla took place, the United States was engaged in its Civil War. The French presence in Mexico was a strategic move - by gaining a toehold in Mexico, the French could then support the Confederate Army. The defeat of the French at the Battle of Puebla was not definitive, but it helped to stave off the French while the U.S. Union forces made advances. Thus Cinco de Mayo can be seen as a turning point in the U.S. Civil War. Cinco de Mayo was first celebrated in the United States in Southern California in 1863 as a show of solidarity with Mexico against French rule.
Celebrations continued on a yearly basis, and by the 1930s it was seen as an opportunity to celebrate Mexican identity, promote ethnic consciousness and build community solidarity. In the 1950s and 60s Mexican-American youths appropriated the holiday and it gained a bi-national flavor, and its celebration was used as a way to build Mexican-American pride. Celebrations sometimes acquired corporate sponsors, and this is the way the holiday began to take on a commercial flavor.
In the 1980s the holiday began to be commercialized on a wide scale. Now Cinco de Mayo is promoted as the day to celebrate Mexican food, culture, traditions, and of course, booze. For some it may just be an excuse to get drunk, but if it's also an opportunity for people to learn more about Mexican culture and history, then it's not completely wasted.
Why not Independence Day?
Perhaps it would make more sense to celebrate Mexican culture on Mexican Independence Day, September 16th, but can you imagine people getting fired up to celebrate "Dieciseis de Septiembre"? It's just not catchy. Also, in September most people are in "Back to School" mode and not in a partying mood. The month of May is lacking major holidays, and an excuse to party is very welcome during this month.