The best way to explain it ...
Upload this script, call it "test.php" and try it.
// only test the variable if the form has been submitted.
// try seeing the variable without using ISSET
echo "I detected ".$_POST['x']." without using ISSET <br />";
// try seeing the variable using ISSET
echo "I detected ".$_POST['x']." using ISSET <br />";
<br /><br />
1) submit with an empty box.<br />
2) submit with a zero (0) in the box.<br />
3) submit with any other number or text in the box.<br />
<input type="text" name="x">
<input type="submit" name="submit" value="submit">
It shows what happens if someone submits with a blank box, or a box with a zero (0) integer.
Important if you expect the integer zero (0) to be entered. PHP will see this as a 'false' in the IF statement.
You can combine them to see if they entered nothing. If ISSET and then if it's not empty. If nothing is
entered, you may want to do something about it ... or maybe you don't care. Depends on your specifications.
There is also the EMPTY command. I know ... it is sort of confusing.
Thinking about it now ... I probably mis-use it many times. Test your forms for all possible user entries.
Fou Lu probaby can explain it better than anyone here.