Benefit of Material Plugins vs Custom Materials?

Just found out about: Material Plugins | Babylon.js Documentation

Does this essentially the same thing as the CustomMaterial or the PBRCustomMaterial?

Why would one pick this method over just extending the preexisting custom stuff?

Plugins are what we are using internally to extend our materials and it is more scalable as they can be reused and combined accross materials.

CustomMaterials were the source of inspiration for the plugin work but live outside of core.