Waterfall commits to scope up front and manages change as an exception. Agile commits to a cadence and re-decides scope every increment.
Both are ways of handling uncertainty. Waterfall assumes you can specify it away; agile assumes you cannot and buys the option to change your mind.
Waterfall suits work where the requirement genuinely is known and change is expensive — regulated builds, physical construction, migrations with a fixed cutover.
Agile suits work where the requirement will be discovered, which is most software and most internal change. If nobody can describe done in advance, a fixed specification is a fiction with a signature on it.
Most organisations do. The risk is an iterative delivery inside a fixed-price contract.
No. It suits work with genuinely fixed scope and expensive change.
Whichever it is, the scope boundary has to be explicit and tracked, or margin absorbs every change.
Half an hour with your own data usually saves reading three of these. The guides will still be here afterwards.