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.