¿Cuándo usar valueChangeListener o f: ajax listener?

¿Cuál es la diferencia entre los siguientes dos códigos: con respecto alistener ¿colocación?

<h:selectOneMenu ...>
    <f:selectItems ... />
    <f:ajax listener="#{bean.listener}" />
</h:selectOneMenu>

y

<h:selectOneMenu ... valueChangeListener="#{bean.listener}">
    <f:selectItems ... />
</h:selectOneMenu>

Respuestas a la pregunta(2)

Su respuesta a la pregunta