DP
delete obj.a; // удалил свойство obj а
console.log(obj.a); // своего свойства нет, достаю из прототипа 10
delete obj.a; // попытался удалить свойство а, но его нет, значит ок
console.log(obj.a); // своего свойства нет, значит достану из прототипа 10
delete obj.b; // удалил свойство b
console.log(obj.b.c); // пробую достать свойство b, его нет, иду в прототип получаю ссылку на объект, из него пробую достать c
delete obj.b.c; // пробую достать свойство b, его нет, иду в прототип, получаю ссылку на объект и из него удаляю свойство с
console.log(obj.b.c); // пробую достать свойство b, его нет, лезу в прототип, получаю ссылку на объект, там достаю значение свойства с, ну а там undefined
Если хочешь понять JS, думай как JS ))