Read it as
Code:
if (string(/*/BrowserBarTitle))
then ""
else /*/Title
and it might be clearer. Note that there is no need for the value of the predicate in a filter expression to depend on the node being filtered.
In XSLT 2.0 you could write this as an "if" expression, but in XSLT 1.0 the filter expression is your only option (and you might prefer it anyway, since it's shorter).