The two words have overlapping meanings, so there are contexts where either one could be used. However, there are certain constructs where one would be regarded as much better than the other.
I'm not sure if I can provide an exhaustive list of contexts where you should use might instead of could, or vice versa. Let's start with the example you provided, which is when either word is followed by not.
The phrase might not indicates a possibility that the contrary could happen. The word cannot suggests that the contrary won't happen. And the phrase could not suggests that the contrary wasn't able to happen.
So:
He might not show up.
means that he might show up, but we're starting to think he may not, while:
He could not show up.
suggests that, because of some obstacle, he was not able to make it.
Let's say we're supposed to meet Mike at 8 o'clock, and it's now 8:20. We have no idea where Mike is. I might say:
Let's not wait any longer. He might not turn up.
However, just before I finish my sentence, my cell phone rings. It's Mike! Mike tells me that his flight is delayed; the airplane is having mechanical problems, they haven't even left the runway yet. Mike is 500 miles away. Now, I say:
Let's not wait any longer. He cannot be here; he's stuck in Memphis.
Next, my friend and I leave, and we go to Ted's house. Ted sees that Mike his missing, and asks, "Wasn't Mike coming with you guys?" I might reply:
We waited for him, but he could not be here. His flight got delayed.
This is because, while might infers a possibility, could can infer a possibility, or an ability. Let's say you set a bar a meter off the ground, and ask me if I'm able to jump over it without touching it. I could say:
I might be able to do that. (it's possible)
But now you raise the bar two meters off the ground, and ask me if I can jump over it. I might say:
There is no way I could do that. (it's impossible)
However, there are times when the words could be used interchangeably, as you have sensed. For example, let's say we're leaving the house for a few days, and we're trying to decide whether or not to leave the furnace on. I might say:
Let's make sure the furnace gets turned on before we leave. We might get some cold weather.
or:
Let's make sure the furnace gets turned on before we leave. We could get some cold weather.
In that context, the two phrases mean essentially the same thing.
Now, an interesting example for the advanced reader. Consider these two statements:
The repairman might come today, but he could come tomorrow.
The repairman could come today, but he might come tomorrow.
Is there a difference? I'd say that both of them mean that the repairman is supposed to come either today or tomorrow, although there's a little uncertainty as to which day he will arrive. But does one of them suggest a higher probability one way or the other? I don't think so, at least not reliably.
1.
He might go to Beijing.
Expresses a possible future action. Therefore the use of last month is impossible. You must use a time expression that goes with the future, for example:
He might go to Beijing next month.
2.
He might have gone to Beijing last month.
He could have gone to Beijing last month.
Both express a possible situation in the past.
→ He might have gone to Beijing last month.
According to context could mean:
There's a possibility he went to Beijing last month, I'm not sure perhaps he did something else.
I know he went some place last month, I don't exactly remember where, it could be Beijing. (sentence stress on "to Beijing" when spoken)
I know he went to Beijing sometime or other, it could be last month but I'm not sure. (sentence stress on "last month" when spoken)
→ He could have gone to Beijing last month.
There was a possibility for him to go to Beijing last month but he didn't go.
Best Answer
They are both perfectly correct and common in everyday speech. If there is a difference, it's a subtle one. "Might" is perhaps a bit more suggestive that the speaker's mind is open to other ideas, so I would call it a bit more polite. "Might" also feels slightly more informal, but that's just a gut feeling based on my particular experience. In that particular usage, the words are just about interchangeable. In the last example you would need to delete the word "always" to substitute "might" for "could".
The accepted answer here: Difference between might and could gets into other usages of the same words.