Web Components are a set of four specifications that allow developers to create reusable custom elements. They include HTML Imports for including HTML in other pages, Shadow DOM for encapsulation, Template for reusable DOM templates, and Custom Elements for defining new HTML elements. While browser support is still limited, libraries like Polymer, X-Tag, and Bosonic provide polyfills to bring Web Components to all browsers.