Once upon a time, a man named Puccini wrote an Itallian opera about a Japanese woman named Cio-Cio-san aka "Butterfly" who killed herself over the love of an unworthy foreign devil. In the 1960's, a French diplomat stationed in China met and fell in love with a Bejing Opera diva. The story is simple enough: Man meets woman. Man cheats on wife with woman. Man and woman have long standing love affair for twenty years. Things happen, and the pair become spies for China. They're found out. They're arrested. Their put on trial... And (to put it delicately) the French diplomat learns that there are no ladies in the Beijng Opera.
That's the true story M. Butterfly is based off of. Taking inspiration from Madame Butterfly, David Henry Hwong weaves a humerous, but no less dramatic tale that jumps back and forth in time from the 1960's to the 80's where the play ends. The main characters, Rene Gallimard and Song Liling, have incredibly realistic dialogue with each other, even though what they say is tried and true cliche around the beginning and middle of the play. Their interactions with other characters add to the timeframe in which the play takes place, several scenes devoted to expositional dialogue while the characters speak of the Vietnam war and the Chinese cultural revolution.
Even if you can see the ending of the play from a mile away with the constant use of songs from Madame Butterfly, it's hard to take yourself out of the actions and dialogue as Rene and Song go through their ups and downs and eventually break up. Certainly, not a lot of people would expect that it is Rene who becomes the real Butterfly of the two, which is why his monologue at the end of the play (mirroring the one he started the entire play with) is sujarring and beautiful in it's own right.
There are a lot of things about M. Butterfly that make it a worthy play to see. It is one of the few "based on a true story" works that is really based on a true story, and that's why it works so well.