Earlier quoted context omitted.
There are plenty of ways to screw clients with fixed-fee projects. The most common is to ask the client what they want, write that down, and build it for a fat fee based on the value they imagine they'll be getting. It turns out clients mostly don't know shit about what they actually need. Indeed, for many projects it's impossible to know the right thing to build up front, as much of the data is unavailable until you…
And the clients aren’t to blame? Some will force waterfall on you then change their minds on requirements, am I a charity that just gives work away for free when they change their mind? Many large companies absolutely refuse agile delivery and require fixed scope and cost to get anything done.
Yes, waterfall is a bad choice. But no, clients aren't to blame for trusting a vendor to do right by them.