Ha ragione emanueledg quando dice che <<una variabile può essere anche definita ma vuota>>, quindi nel tuo primo caso se sei sicura che la variabile $foto esiste allora devi fare:

if ($foto != 'nd.jpg' && !emtpy($foto))
{
unlink("../img/accessori/$foto");
unlink("../img/accessori/backup/$foto");
}


altrimenti se non sai se possa essere stata definita o meno:

if (isset($foto) && $foto != 'nd.jpg' && !emtpy($foto))
........

Ciao.