might have done something
used when something was possible but did not in fact happen
You might have been killed.
How different things might have been, if you had decided to have children.
With a bit more effort we might have won the game.
could have (done something)
used for saying that something was possible in the past, even though it did not happen
You could have been killed.
I could have told you, but I didn’t think you would listen.
She could have married Gerald if she’d wanted to.