The problem is that they often don't know the constraints of the system you're working with, something that only comes with actually working on the implementation.
E.g. I was working on a display. The graphics were designed by a UX Team. However the display only had 256 colors, had to be readable outside, had a 320x240 resolution. They had designed everything as vector graphics with highest color settings on really good Eizo monitors. The customer thought the designs look cool, and I wasn't given any freedom in improving them.
I tried discussing the constraints with them, but because they were "on top" they wouldn't listen.
In the end the customer saw the prototype and said it looked terrible. But I had all the communication with the UX Team and them that I wasn't allowed to make it work for this display.
In the end it cost everyone an extra month and a lot of frustration to arrive at basically what I suggested when I first checked the hardware.
The problem isn't to learn about UX, it's that you have a "UX person" that may not know about UX and dictates the terms.