A "data subset" is defined as the subset of data described by one single application of the collection of descriptors. In this context, the "collection of descriptors" means ALL the descriptors included in section 3 of the BUFR message.
In other words, one pass through the complete collection of descriptors will allow one to decode one data subset from section 4. One then loops back in the descriptor list for as many times as indicated by the number of data subsets (key "numberOfSubsets"). All the data in section 4 are properly described by repeated use of the same set of descriptors from section 3.
The structure should be described as:
A BUFR message contains one or more BUFR data subsets.
Each data subset contains the data for a single report from a particular observing site at a particular time and location, in addition to time and location information. Typically each data subset contains data values such as pressure, temperature, wind direction and speed, humidity, etc. for that particular observation.
Finally, BUFR messages themselves are typically stored in files containing many other BUFR messages of similar content.
Therefore, if we summarize in a top-down fashion, we would say:
A BUFR file contains one or more BUFR messages
Each message containing one or more BUFR data subsets
Each subset containing one or more BUFR data values