Building blocks like inputs seem most obvious but as there a so much use cases you have to bake in a ton of use cases which make it a huge effort to maintain.
Components for specific use cases are much easier to maintain but due to their specific usage aside from readability of code there's not much advantage imho.