In all Autodesk products, materials are used to indicate both materials and finishes. This is not ideal. In reality, a material is what a thing is made of and a finish is simply how it is, well... finished.
How about some examples:
A wall is made of studs and drywall. These would be the materials. I would go to the lumber yard and buy studs and drywall to physically build this wall. But the finish is what I would apply on top of the wall to finalize it. This could include items like paint, tile, wall covering, paneling, wainscot, etc.
A floor is made of joists (metal or wood), plywood or metal deck and concrete. But it can be finished with: carpet, tile, clear coat, paint or even hardwood.
In the real World:
You cannot build a wall out of paint or tile. You build it from brick or drywall or studs, you finish it with paint or tile or wall covering.
You cannot build a floor out of carpet or vinyl tile. You build it from wood or concrete, you finish it with carpet or bamboo.
I would like to see a Finish object separate from materials. And/or hierarchical materials. So finishes could be their own separate thing, or they could be a property of materials. I would prefer they be separate and referenced to materials so we could "mix and match". For example right now if I have four paint colors and planed to use them on varying surfaces like drywall, wood and concrete block. I would need to potentially repeat these "finishes" within the types of each category. Or I could define a separate material for the paint and then apply it as its own layer in the wall assembly (which is not ideal) or use the paint tool to apply it as an override on another layer (also not ideal), or define several variations of each "parent" material, such as: Drywall - Blue paint, Drywall - Red pain, Drywall - Green paint, Wood - Blue paint, etc. This is also not ideal.
And in the case where a finish schedule is required, it is very difficult to achieve without manual hacks and silly work arounds.
So please. Consider separating material from finish. And in the process, we get closer to the original intent of Revit: to build things in the software as close to how they are really built in reality as possible.
Thank you.