Cuando envías el formulario, todos los campos que tengas en él se envpian igualmente, por eso, cuando escribes solo el nombre y no el apellidos, este último se envía (como una cadena en blanco), pero igual queda establecido, así que con el isset() pasa normal. Si quieres validar, puedes probar con esto:
Código PHP:
if(isset($_POST['apellidos']) && $_POST['apellidos'] != "")
{
// ...
}
Espero que te sirva. Así lo hago yo cuando la validación es sencilla, como este caso. Ya si quieres validar más estrictamente, te recomendaría utilizar expresiones regulares.