Ответ
Метод equals в data class используется для сравнения объектов на содержательное равенство (по значениям полей), а не по ссылке. По умолчанию в data class он автоматически генерируется, сравнивая все свойства, объявленные в первичном конструкторе.
Пример:
data class User(val name: String, val age: Int)
val user1 = User("Alex", 25)
val user2 = User("Alex", 25)
println(user1 == user2) // true, т.к. equals сравнивает поля
Без data class пришлось бы переопределять equals вручную. Также equals влияет на поведение hashCode() и коллекций (например, HashSet или HashMap).