This disadvantage potentially extends to managers whose job includes understanding what the abstracted-over system is, but they're probably not thinking about it as hard on a day-to-day basis as the developers.
(Note that "non-developer users" probably also includes developers whose expertise does not extend to the specific system in question and therefore have no ability to guess what's leaking across the abstraction barrier, e.g., Linux users trying to use a Windows tool, new employees figuring out your in-house build system, etc. etc.)
I started developing just 3 years ago, after shifting from marketing and sales. Its amazing how most developers lack social skills needed to understand user trends. Yes, product managers are important to connect technical point of view with more abstract one. No, not all developers are like that, but I would say 2/3 at least.
Developers are mostly good at creating products that they would use. Once they enter ground where they create product for others - thats when difficult part begins.
Edit: Ok you said product managers. Which I suppose is reasonable, product managers should have a good understanding of developing products for customers.
I'm going to leave the top part of my comment because in retrospect its food for thought.
Are developers innately bad at understanding users? Is middle management better?