It only incorporates iteration indirectly, thus changes may cause considerable confusion as the project progresses.
The customer only sees a working version of the product after it has been coded. This may result in disaster if any undetected problems are precipitated to this stage.