Almost all U.S. LTL carriers use NMFC freight classes, although some are attempting to move to a dimensionally-based system.
Adding NMFC code to a shipment is technically optional, but the NMFC codes can help avoid reclassification and ensure you're using the correct freight class number.
NMFC freight subclasses are used to differentiate among commodities of the same type. For example, one NMFC code for chairs/stools is 82790. Subclasses 82790-1 and 82790-11, despite have the same base NMFC code, fall into two different freight classes.