¿Cuál es la diferencia entre la desestructuración de objetos y la asignación normal de objetos en Javascript ES6?

¿Cuál es la diferencia entre estos dos ejemplos de código (además de la sintaxis, por supuesto)?

EJEMPLO 1:
var user = {
   name: 'Diego',
   age: 25
}

var {name} = user;

console.log(name); // Diego
EJEMPLO 2:
var user = {
   name: 'Diego',
   age: 25
}

var name = user.name;

console.log(name); // Diego

Ambos ejemplos asignan el mismo valor. Tampoco entiendo cuál es la diferencia o la ventaja / ventaja de usar.

Respuestas a la pregunta(2)

Su respuesta a la pregunta