To start, doing a performance review once a year leaves huge gaps in feedback. Feedback needs to be immediate. Telling someone that they did something great or sub-optimal 11 months ago is useless.
Second, everyone needs feedback. Feedback should not only flow from managers to employees. I would argue that managers need feedback even more than employees. Managers needs to know what is going on in their organization. The are usually well aware of the core topics (sales if you're sales manager, state of code if you're managing developers). However, good feedback should be about everything, including how people feel, what else is going well or not too well, if there is anything that they could suggest for improvement, or if anything is blocking their progress.
Thirdly, feedback should not only be a one way process. All good feedback should be a start of a conversation. People will listen to feedback better if it is presented as part of a two-way communication process.
I am currently working with 15Five.com to build a better feedback platform and to address the shortcomings of annual feedback systems.