What is the achilles heel of changesets for you? What bugs you the most about change sets?
Outside of personal preference (I find them to be cumbersome), I have two reasons I stay away from them.
First, when deploying custom fields, by default nobody has access, requiring that you take a second step to manually configure the access, resulting a greater opportunity to miss a step.
But the biggest issue I have encountered, is more related to the interface and the mindset of the people that put them together. I have seen too many pieces being forgotten, resulting in multiple changesets.
I am sure people with argue that you can get the same situation with IDE Deployment packages, but in my experience, the steps to building a changeset seem to encourage incompleteness.
I wish change sets were more like version control:
They would be much more useful if they merged changes from different source orgs into one target org, rather than simply overwriting changes of the first change set. It'd be even greater if they supported functionalities like branching/reversing commits.