Thanks for your response and for the insight.
It's clear agile can fail when problems crop up and I think I've been fortunate in that in my experience the developer's have had the deciding vote on what goes into the sprint as opposed to the requestor.
You're right to push back though. Often the requestor has no idea of the complexity of a given task and is under pressure themselves from senior people desperate to see something shipped. If they're good at managing upwards, they can create room for developers to give accurate estimates and deliverables without obligation to the death-march.
I guess we're at least lucky that agile breaks a project down into sprints as these problems are exponentially worse in a waterfall environment where the scope is much wider with a lot less visibility.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.