Why should a developer want to work Agile?
Because a properly-implemented agile framework improves the pacing of a project and the sustainability of the developers' work efforts. It also increases collaboration between developers and stakeholders. If it doesn't do all of these things, then the team (or the organization) is probably Doing Agile Wrong™.
He/she is the one responsible for things not being correct, even if it was delivered what was asked / promised.
This is never true in successful agile implementations. The whole team collaborates with stakeholders to build the product. The tight feedback loops and inspect-and-adapt cycles built into effective agile frameworks can control for cost, quality, and fitness-for-purpose when implemented properly.
If stakeholders or executives are "holding developers accountable" (e.g. blaming them) for building the wrong things, then they are not sufficiently engaged in collaboration with the project team. This is a often a leadership failure, and often involves process silos and organizational issues (primarily issues involving politics or cross-team communications) that can't be fixed by waving "agility" at them. The only real solutions to these types of problems are:
- Executive support for effective agile processes including ongoing cross-functional collaboration, process transparency, and open communications.
- Leadership-driven, continuous process improvement.
Teams that apply agile practices to a project are often happier and more effective than teams that don't. The benefits come from being agile, though, not just from adopting "Agile" nomenclature or applying non-agile practices, values, or principles to the workflow.