As an internal engineer, when an internal ticket comes in I'm going to track down the issue, may realize it's a known thing that requires a lot of planning to resolve, loop in my manager, etc. but ultimately it usually ends with "we don't have time to address this right now and it doesn't affect enough users". If you're lucky there's a workaround that can be shared.
Now, I don't like that. I'd rather fix the issue for the user but I already have committed deadlines and team goals and it's rather easy to just go with a "sorry, we may revisit in Q1 or Q2 next year".
The support agent still has to a) deal with the customer's anger and b) cannot be honest with them, i.e. needs to wrap the situation in a blanket of corporate speak so as not to shed a bad light on internal teams / the company. At the end of the day they are just powerless and have to take on the responsibility in front of the user, whereas the engineer may feel unsatisfied not being allowed to spend time on it, but ultimately is far enough removed from the user to be actually affected by the situation. Granted, personally I always try my best to get a fix out but a lot of engineers would rather work on their projects and the managers want that too.
FWIW, when I did customer support I always reminded myself that nothing is personal. When I'm at the opposite end (a customer) I also don't get mad at the individual I'm dealing with unless they are not trying to understand or help at all.