I think part of the issue is that there are several categories of users out there, from newbies to power users. There's usually no way for a dev to know which categories their user base will include so they try to make an app as friendly as they can to as many users as possible. Kinda like a restaurant, you can't make food taste the best to everyone all the time.
Most devs are power users and their idea of "user-friendly" may be different from the definition others would have in mind. This is where user feedback becomes a vital tool to a developer.