I think, if sprints are used to beat dev's into submission, then they suck. But if they are used for the dev's to be able to plan things, they are awesome.
I am not a code monkey. I am not a cog. I like having things I'm going to be working on laid out. I like a road map. If I'm part of the planning, then I love sprints. I get to estimate what I can finish, and work to it (pass or fail)