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

¿Cuál es la diferencia entre las siguientes dos piezas de código, con respecto a la listenerubicación? <h:selectOneMenu ...> <f:selectItems ... /> <f:ajax listener="#{bean.listener}" /> </h:selectOneMenu> y <h:selectOneMenu ...