According to wikipedia, the spiral model is best for large expensive complicated projects. Spiral is like little waterfalls. If the customer need to specify things in advance, it is better than true waterfall.
The reason for this is that in Agile model you have short sprints, with concentration on working software incorporating frequent requirement changes developed by a self disciplined/proactive team. So it's iterative and incremental approach suits well for smaller sized but highly dynamic projects.
Spiral model on the other hand is sort of repetitive waterfall model. Where each cycle focuses on working software delivered using proper processes and documentation. There is slightly more micromanagement involved and requirement changes are not incorporated at any stage of the iteration.
Cheers, Joy [SCJP 1.4, SCBCD 5.0]
get high on alcohol, algorithm or both