Developers, on the other hand, often have the opposite problem. If you want to see a piece of software that users hate, find one where the developers simply imagined that the users had a problem, and then started developing a solution for that problem.
Problems come from users, not from developers.
Sometimes the developers of a piece of software are also users of it, and they can see obvious problems that they themselves are experiencing. That's fine, but they should offer that up as data, from the viewpoint of a user, and make sure that it's something that other people are also actually experiencing. Developers should treat their own opinions as somewhat more valuable than the average user's (because they see lots of user feedback and they work with their program day in and day out) but still as an opinion that came from a user.
When you solve the developers' problems instead of the users' problems, you're putting lots of effort into something that isn't going to help...