isset() checks if a var has any value assigned to it.
if($var) only checks if $var contains something other than 0 (zero).
If you want to make sure a var is set, always use isset(), NEVER the IF statement.
Thus:
$var = 0;
if (isset($var)) {} // true
if ($var) {} // false
$var = 'hello';
if (isset($var)) {} // true
if ($var) {} // true
unset($var);
if (isset($var)) {} // false
if ($var) {} // false with a great big PHP warning about accessing an unset variable
And ofcourse the same statements with a ! in front of them just give the exact reverse outcome, true becomes false and false becomes true.