DB2 CLI stores information (data types, size, pointers, and so on) about columns in a result set, and parameters in an SQL statement. The bindings of application buffers to columns and parameters must also be stored. Descriptors are a logical view of this information, and provide a way for applications to query and update this information.
Many CLI functions make use of descriptors, but the application itself does not need to manipulate them directly.
For instance:
Although no database operations require direct access to descriptors, there are situations where working directly with the descriptors will be more efficient or result in simpler code. For instance, a descriptor that describes a row fetched from a table can then be used to describe a row inserted back into the table.