Agile insists on constant interaction with the client, unlike waterfall which insists on a single meeting. This allows for changing client specifications. This makes the developers more effective on behalf of the client.
The work flow for an agile developer is then focused around making working software -- even if it only satisfies some of the client's specifications -- as often as possible. Thus of specs change, the problems this cause are limited to just one more production cycle.
An Agile developer will ask less of the client, and deliver something closer to what the client wants. Developers not offering Agile are simply worse suited to the task of development for a client.
No. I think Agile is very specific to industries where a final goal can be segmented neatly into more or less independent parts. Though these industries are common... they aren't ubiquitous.