What's true about == vs equals

In the most shorthand answer:

== opertator is to check identity. (i.e: a==b are these two are the same object?)

.Equals() is to check value. (i.e: a.Equals(b) are both holding identical values?)

With one exception: 
For string and predefined value types (such as int, float etc..),
the operator == will answer for value and not identity. (same as using .Equals())