Tanto MIGHT quanto MAY possuem o sentido de probabilidade e de permissão. Porém a principal diferença entre eles é o tempo verbal, já que um é passado do outro. MAY é uma probabilidade que poderá acontecer num futuro e passa mais certeza na frase. Já o MIGHT é passado de MAY e, justamente por isso, passa menos certeza.
Usamos COULD HAVE para indicar algo que poderia ter acontecido no passado, mas não aconteceu. Ele também pode indicar possibilidade ou habilidade, ou algo que você "poderia ter feito". Já SHOULD HAVE pode ser usado para indicar algo no sentido de dever ou obrigação, que "deveríamos ter feito".
MUST X SHOULD X HAVE TO: saiba a diferença e como usar
Should e Ought to possuem basicamente o mesmo sentido, sendo ought to mais formal. Ambos expressam conselho, obrigação, dever, probabilidade e a lembrança de um dever no presente e no futuro.
I had better ('seria melhor que', 'é melhor que') é utilizado como um auxiliar de modo: