The constructs -ne, -eq, and -gt looks at least strange.
-ne
-eq
-gt
if ($true -eq $true){}
but not
The operator = is already the assignment operator. In order not to confuse the comparison and the assignment operator they choose for another operator. In this case for -eq because this is already in use in other (UNIX) scripting languages.