This innocent-sounding exercise forces each part of the system to have a pure function. When a system is composed of pure functions, they can be reused, or replaced. A usual side-effect is that the interfaces between blocks become simple and generic.
Since the interfaces usually become simple, it is easier to replace a pure function with a related, similar function.
For example, say that one needs to make a stereo system. One might functionally decompose this into speakers, amplifier, a tape deck and a front panel. Later, when a different model needs an audio CD, it can probably fit the same interfaces.
This process is powerful when applied to software.