What is the difference between might and may? Is one a more formal way to speak, or is one correct and the other wrong?
This is a tricky question, because right now the language (at least in its US version) is in the middle of changing all the rules.
Let’s move from the easy parts to the hard ones.
Two generations ago I was taught that you must use may when speaking of permission: May I have a cookie? — Yes, you may. That rule is dead now; everybody says can and nobody notices, except a few middle-school English teachers who will soon retire. May in this sense survives only in fixed phrases like *If I may be so bold, I’d like to say … “, and even there it’s giving way to might.
Might was originally the past tense form of may and it still must be used when your clause is cast unambiguously in the past tense. For instance:
Last Tuesday John said “I may go to New York tomorrow”.
Last Tuesday John said he might go to New York the next day.
Note, however, that might is obligatory here only because the trip itself is, at the time when this is said, in the past. Contrast this, where the trip is, at the time of speaking, in the future:
Yesterday John said “I may go to New York next month”.
Yesterday John said he might go to New York next month. or
Yesterday John said he may go to New York next month.
This is the tricky part. As those final two examples show, may and might are in many cases completely interchangeable. For the past century this has been happening with can/could, will/would as well as may/might: what used to be the past/conditional form is becoming a somewhat more tentative variant of the ordinary present form. With other modals the past form has actually replaced the present form: it happened several hundred years ago to mote/must, and it’s all but complete with shall/should. It’s quite possible that in a hundred years may will have disappeared from ordinary speech.
But right now is what you care about; and right now it’s up in the air. This makes the people who want rules uncomfortable; they try very earnestly to find rules, and when they can’t find them they make them up. I’m afraid that’s the case with the author of the article to which waiwai933 points you. It’s an admirable, reasonable, well-written article; but I think it’s wrong. There’s no consistent distinction of conditionality, no nuance of certainty involved; I think the choices made by actual speakers and writers are largely driven by sound or by prosody—or by a sort of mental Brownian movement.
The only ‘rule’ I can assert with any confidence is this purely formal one: in a conditional, the form of may must agree with a ‘past’ form used in the if clause. The article offers this example:
If he were to come early, we might be able to finish the job.
That could also be expressed:
If he comes early, we may be able to finish the job or even
If he comes early, we might be able to finish the job.
What you can’t do is this:
✲ If he were to come early, we may be able to finish the job.