Looking that the help section about_Comparison_Operators of PowerShell I understand this:
PS C:\> $false,$false -eq $true
PS C:\> 
Nothing from the left matches the right so nothing is returned not even a $null.
I don't understand this:
PS C:\> $true -eq $false,$false
True
PS C:\> 
Is it because it's first doing $true -eq $false which returns False, and then taking that False and doing $false -eq $false which returns True? 
More Info
The reason the below returns false is because it's comparing a string to an array, correct? A string is not equal to an array.
PS C:\> "abc" -eq "abc","def"
False
Answer?
More digging shows that $true is equal to an object.
PS C:\> $true -eq [array]
True
PS C:\> $true -eq [string]
True
PS C:\> $true -eq [int]
True
PS C:\> $true -eq [bool]
True
It's the values of those object that matter.
PS C:\> $true -eq [int]0
False
    
"abc" -eq "abc", "def"doesn't work.