From Bavarian Technic
Adaptation is the storage of parameters needed by the control module to operate within the current operating conditions.
Engine Control Modules
Most BMW engine control modules are adaptive. These modules store information that keeps the vehicle running smoothly based on the regular operating conditions the vehicle is used in. The adaptation values take into account many operating parameters of the vehicle. When a fault condition occurs the control module takes this in to account and adapts to continue operating with the fault condition. Since resetting the adaption will erase the adaptive values, it is normal for the vehicle to run rough or hesitate until the values are relearned. Some control modules will automatically reset adaptation values when fault codes are erased.
Automatic Transmission Control Modules
Some BMW automatic transmission modules store adaptation data about the drivers driving style. This information controls how the transmission shifts. For example a spirited drivers transmission will adapt to hold the same gear to a higher RPM and shift faster between gears. While a less aggressive drivers transmission will adapt to shift smoother and slower to offer smooth ride.
Adaptations can be reset in Bavarian Technic from the commands window. On some control modules there is simply one selection for resetting adaptations. When there is only a single selection than all of the adaptive values will be reset. Some newer control modules support resetting only specific adaptation values and the user can choose to reset only a part of the adaption values.
A few BMW control modules have functions that allow the software to set the adaption values. Adaptations setting can also be found in the commands window.