TL;DR;
Le Shadow DOM est un DOM encapsulé dans un élément et qui est isolé du reste de la page. On peut néanmoins y accéder via un objet javascript ou des sélecteurs CSS spécifiques.
Depuis cet article, la spec à changé et ne colle plus à la description ci-dessous. Référez-vous plutôt à la spec V1 décrite ici : https://developers.google.com/web/fundamentals/web-components/