Like layers, classes are categories of objects which share common features.
The shared features of layers and classes may be graphic, spatial, or informational...this is to say that, different types of objects can be of the same class and/or same layer.
Styles are different. Only walls can have a wall style. And only walls of similar construction can(should?) share a style.
If there is a need to differentiate walls within a style; layers, classes or data records are the options.
If the differentiation is graphic, then it's got to be layers or classes...or using unstyled walls.