I believe that it is because you are not using TRUE as a string. There is a difference between: 'true' and TRUE. One will be true no matter what (true) and the other is a string that contains the word true ('true').
So when evaluating if (TRUE is equal to '') you should always return true. Now, if you evaluated if ('TRUE' is equal to '') then it should return false.
Hope that helps.
~Brett