No program is an island unto itself. Some decisions have to be made about the target environment, and its capabilities.
Some telecoms activities are so real time they really have to be implemented within the OS kernel. Echo-cancellation is a good example. Kernels don't generally like floating point. DSP doesn't like fixed point without saturation logic. These two competing issues must be resolved. Some telecoms functions should be portable to smaller machines, where floating point may not be a native feature of the instruction set. This may justify two versions - one floating point for machines like Pentiums and Athlons, and one fixed point for embedded ARMs.
There are various benefits in using: