Lo que hace header() es enviar una cabecera al navegador indicándole que debe redireccionar a otra ubicación. Si no terminas la ejecución del script, el código despues del header() se seguirá ejecutando. Por ejemplo, si tenes el script script.php:
Código PHP:
<?
session_start();
header("Location: otro_script.php");
$_SESSION['usurio'] = 'juan';
?>
Y en otro_script.php tenemos:
Código PHP:
<?
session_start();
echo $_SESSION['usuario'];
?>
Si llamamos a script.php desde el navegador, entonces la salida de será "juan".
Esto no seria asi si script.php fuera asi:
Código PHP:
<?
session_start();
header("Location: otro_script.php");
exit;
$_SESSION['usurio'] = 'juan';
?>
En ese caso la salida estaria vacia.
Saludos.