Qual a utilidade de uma Interface na POO?

Eu não tenho certeza se entendi direito o conceito de interfaces na POO, mas pelo que eu acho que entendi não tem muita diferença entre usar interfaces e simplesmente criar alguns métodos públicos específicos, já que nas interfaces não implementamos os métodos, apenas listamos quais serão implementados nas classes que utilizarem esta interface. Se é realmente só isso, uma interface poderia ser substituída por nada, já que não serve nem para o programador “escrever menos”, ou seja, reutilizar o código, pois toda vez tem que escrever a implementação específica para cada caso. Desde já agradeço

É útil quando voce precisar estabelecer um contrato pra ter várias implementações de um mesmo tipo de recurso.

Por exemplo, supondo uma interface DbConnection com implementacoes MySqlConnection e OracleConnection. Ambas vao possuir o método Conectar(), estabelecido na interface DbConnection, mas a implementação é diferente pra cada banco.

Em requisitos não funcionais interface costuma ser bem usado. Já em requisitos funcionais raramente vejo necessidade, pelo negócio ser mais dinâmico. Nao que nao possa ocorrer. Mas infelizmente vejo muitos desenvolvedores ditos experientes usando interface pra tudo, no final das contas vira só burocracia, onde a interface tem uma única implementação.