I think waterfall was adopted for software development, not by accident, but because it was a well-defined methodology with proven effectiveness in areas like construction and manufacturing.
In areas where changes to the spec are expensive, like building a bridge, waterfall methodology makes a lot of sense. Now that dev tools are so good and computers so powerful, spec changes are cheap, so waterfall is inappropriate. However, there may be times where it is appropriate; maybe a controller for a pacemaker or an oil refinery.
I see it as using the right process for the right job.
In areas where changes to the spec are expensive, like building a bridge, waterfall methodology makes a lot of sense. Now that dev tools are so good and computers so powerful, spec changes are cheap, so waterfall is inappropriate. However, there may be times where it is appropriate; maybe a controller for a pacemaker or an oil refinery.
I see it as using the right process for the right job.