Olá Washington,
Não é bem isso.
O método equals server para comparar objetos.
Comparar um primitivo é fácil certo, um número por exemplo:
int a = 1;
int b = 2;
if (a == b)
Contudo, com objetos não é tão simples. Ao usar o == em objetos, a JVM apenas compara se esses as variáveis de referência deles apontam para o mesmo objeto em memória.
Por isso temos como prática implementar o método equals() herdado de Object em nossas entidades, para dar meios para o Java saber comparar nossos objetos.
Já o método contains() da classe String, serve para verificar se um conteúdo de texto (uma string) existe dentro de outra, como no exemplo:
String a = "um texto de exemplo";
String b = "de exem";
if (a.contains(b))
Esse teste retornará true, porque dentro da String a, existe o conteúdo da String b.
Já um teste de equals para Strings:
String a = "um texto de exemplo";
String b = "de exem";
if (a.equals(b))
Esse teste retornará false, porque a String a não é igual à String b. Repare que o que define que não sejam iguais, é porque a implementação do método equals() da classe String analisa uma string de forma lexicográfica, ou seja, compara caractere por caractere, para que seja igual uma String a outra, todo caractere em uma mesma posição nas duas Strings deve ser o mesmo.
Deu pra clarificar mais a diferença?
Abraços.