The BMW software upgrages are technical updates of the DME or another other control module software.
Your E46 is DME is capable of programming and erasing electronically or in short ' flash programming' without being removed from the vehicle. It is done through the diagnostic port, TXD.
The E46 DME's memory are EEPROM type modules while the older E36/34 types are EPROM types which would require a chip change or rechipping to change the software parameters. Erasing of EPROM cannot be done electroically but by exposure to UV light for a set time period. So don't peeel the sticker paper covering the top of the chip on E36's.
Coding on the other hand sets functional features in a module something like activating and deactivating options pre-existing in your vehicle.
Your DME is capable of 14 times of reprogramming as set by the manufacturer. To have software updates done to your vehicle to ensure your DME, AGS, IKE, LCM, GM modules are up to date on software versions and free of tech glitches.
In order to do this at the workshop, specific equipment such as DISPlus, GT1 and SSS must be available and have the current version of CIP [ Coding, Individualization and Programming]installed in these machines. Like our personal computers, there is no downgrade software versions allowed once you have upgraded to the higher version.
BMW has for a while now started to use a new software for coding and programming that's runs on a desktop PC called Progman.
If it adds power, well... u won't know till u flash it and drive. But on E46 4 pots, there's the problem of hesitation during acceleration from standing and the idle revs being too low. The DME software upgrades has resolved these drivability issues.