Web components allow developers to create reusable custom elements with encapsulated functionality that can be used across projects and frameworks. It is a suite of technologies including custom elements, shadow DOM, and HTML templates rather than a single technology. Web components do not require a third party library or framework and can be used with existing frameworks like React, Vue, and Angular. They allow encapsulating business logic and UI for reusability across projects, and utilize the same component in different frameworks.