Non mi è chiaro cosa tu abbia cambiato a parte i
il che mi fa pensare che non usi la command line per testare il tuo codice... mooooooooolto male... comunque si hai beccato il punto.
Per riassumere in poche parole un interface definisce uno specifico behaviour per la classe che la implementa. Se una classe implementa un interfaccia, la classe DEVE implementare il metodo. In PHP il polimorfismo è garantito solo con le interface proprio per questo motivo.
Con l'esempio di prima siccome sai che uno user DEVE per forza avere un metodo login usando un interface garantisci solidità e consistenza nel codice perché obblighi il developer ad implementare tale metodo senza via di fuga e maggior flessibilità per via della possibilità di implementare interfacce multiple.
Come però ti ho già detto l'utilizzo di interfaces potrebbe non essere la soluzione ideale specie inizialmente se non si ha tempo per fare un design adeguato, cosa già sbagliata di suo, perché se modifichi una sola interfaccia potresti ritrovarti a dover riscrivere discreti pezzi di applicazione.