Flashing device is not just about updating the Software. In addition to programming the executable code to the device, the flashing process also cleans up the memory and rebuilds the file system, including the boot loader.
You could compare flashing to demolishing a house, and then building another house (according to the exact same blueprints) in its place: sure it will look the same, but the structure materials will be new and it won’t look like its been lived in.
By comparison updating the software is like renovating your existing house. 9/10 times this is enough! Unless there is a problem with the foundations, for example.
The main reason for doing this is ensuring a good quality of service, and that you won’t have to send your device in for repair again soon after.
Flashing the software is a way to ensure that the device is in a known good state. Even in case of issues which look like mechanical there may sometimes be some software related issues going on in the background, or additional undetected errors. By flashing the device we attempt to eliminate or at least mitigate these risks.
Out of warranty flashing TT$100.00