I like working with users as they often give really good feedback. They're the ones who have to live with the software every day so tend to be very clear about how it helps/hinders their work.
Is it naive to think that making users happy by meeting their requirements is the primary goal of a software delivery, though? In my experience, which is not in COTS software development, the end users are not paying for the software - their boss is. Yet we often grant users great import, perhaps because their feedback is more immediate and tangible. Granted, it is unlikely that giving users unusable software is going to prove successful. Conversely, giving users exactly what they want is also unlikely to be a success. For a start, it could well prove financially prohibitive (eg, technically difficult)!
I consider one of my responsibilities as an architect that of keeping delivery focused on what matters. Sometimes this may mean giving the users what they want, sometimes it may mean telling the users what they're getting (and helping smooth the transition). After all, change isn't always just about transparently replacing the technology.
I'm sure I'm not the only person who's worked on software that has delivered what users wanted but has never seen the light of day. Were the users wrong or were we simply speaking to the wrong people?