Qual é a diferença entre JoinQueryOver e JoinAlias?

Preciso saber qual é a diferença entre JoinQueryOver e JoinAlias, e quando usar cada um?