Say you have something like the following..
<?php
//(let us say $id is the name of a hidden field in a form on the previous page)
//Register globals is on
$query = mysql_query("SELECT name from `table` WHERE id=$id"); //for simplicity
//loop through results, do w/e with data..
?>
Now, somebody can go directly to the page.. say info.php
and say info.php?id=12
This might not seem too dangerous
but what if they said
info.php?id=0 OR DELETE from table WHERE 1=1
now, would you still have a table left?
Basically, global varials being off allows you to verify the source of the information.