=== истинно только для одного и того же экземпляра; == сравнивает свойства и класс (с нюансами).
Разбор
- Два new User с теми же полями: == может быть true, === false.
- Для value object иногда переопределяют логику иначе (не через operator overload).
- В коллекциях важна идентичность.
- Не полагайтесь на == для сущностей с id.
Итог
=== — тот же объект; == — равенство содержимого по правилам PHP.