There are two versions of the method that is invoked. The first is invoked if the EL expression does not contain any parameters at all. In this case the method that is invoked must not have any parameters indeed. In the case of the actionListener
it must have exactly the prescribed event parameter.
If you provide parameters, then those parameters are bound by the EL implementation itself and a method in the bean corresponding with those parameters will be called. In that case any parameters that JSF itself would otherwise have provided (like the event instance) are lost.