My personal experience is that, on average, dealing with annotations is far easier for most developers than dealing with your standard Java XML Configuration hell. For things like JPA and Spring testing they are absolute life-savers.
The good thing about annotations is that they make configuration on your classes self-documenting. Now, instead of having to search through a huge XML file to try and figure out how a framework is using your class, your class tells you.
Usually the issue with changes like this is that getting used to them simply takes time. Most people, including developers, resist change. I remember when I started working with Spring. For the first few weeks I wondered why anyone would put up with the headaches associated with it. Then, a few weeks later, I wondered how I'd ever lived without it.
We used to have custom tags do all of the repetitive/error prone work for us in a JSP, so that it was very lightweight to begin with. Developers were familiar with it. It's not hard to follow, either from 10,000 feet or under the sheets, so when there was a problem, debugging was a snap.
The new system is difficult to add onto and/or change. We also have a set of developers that are going to have trouble learning to use it. When there's a problem with the display, debugging through this involves reading code that most devs aren't ever familiar with. – Dean J Oct 08 '09 at 18:14