Web components enable web application authors to define widgets with a level of visual richness and interactivity that is not possible to be done in CSS styling sheet alone, and ease of composition and re use not possible with script such library today. Some of the most commonly used components are.
Templates- This mostly contain markup intended to be used to be used later for example templates can be used to store large scripts inline in a document but they are not passed to be executed unless they are needed
Decorators –A decorator enhances or overrides the presentation of existing elements though CSS can be used to customize decorators, it is important for a user to define his own decoration using markup language and a scripting language.
Custom elements- custom components are mostly used to encapsulate a state and provide scripting privileges.
Some of the advantages of web components that make the very useful: They help decorate and hence improve the appearance of the website for example a java script component that displays image slides in the homepage of a website
Components make it easy for a website user to interact with the server and the host database an example is a php login form that makes it easier for the user to register store his password in the host database and a validation and login field to access his information
Some plug in components like java virtual machine plug in improve the security by disabling unwanted traffic to a website. The above information sought to shed more light on What is web components and their advantages.