I agree. This "feature" causes more problems and frustration than it solves. It means we need empty cargo space on the ship to even take most missions whether they be cargo related or not.
It also means every ship you want to do missions with needs a cargo hold, whether you want it or not. That is precious internal space that could be used better on some ships. Doing combat missions with a combat ship? Not without a cargo hold... Delivering data? The mission says you don't need cargo space, but you often do - because they pay in cargo. Ferrying passengers? Not without a cargo hold. For the passengers luggage? No that is in the cabins - for the payment. What about paying in credits? Oh they do pay in credits, but they also dump their garbage in your trunk as "payment".
Sure, some people might occasionally find a mission that just so happens to reward them with a commodity which they just so happen to want, or can find a use for - but more often than not, it is just sold at the same station, or dumped.
I would be fine with them keeping the stuff, or dumping it anywhere but my cargo hold. I just jettison it anyways as soon as I get it. I dont even care if it is pure gold or platinum. I can have loads of that stuff anytime I want, even painite.
A solution would be simple. Add a button "Sell/Jettison/Deny Cargo Reward" to the interface when taking/turning in missions, and let us take/turn in missions we do not have the cargo space for (for the rewards that is of course). Or just an option to automatically decline/sell cargo rewards in the functions panel, to just dump it or sell it instead of filling the cargo hold - better, without needing cargo space in the first place. Or even simpler: get rid of it entirely. There has to be some other way we can get stuff that is needed for something else.
Engineers need specific commodities? So what? There can be countless ways to get commodities, those specific ones just need to be linked to something else. There is nothing forcing these commodities to be rewards for random unrelated missions. If we are supposed to do certain missions to unlock an engineer, why not make that clear cut and just have the requirement be "Do X amount of Y category missions". Or give us a mission with the reward being access to that engineer.
Since cargo rewards were introduced, I have not found one example where I was happy to get them, and countless where I wished I would not get them. Also it can be really confusing for new players: "Why cant I take/turn in this mission?", "Why can I suddenly not jump there anymore?", "Why is my cargo hold full?"
Sorry for the rant. Basically TL;DR: In my opinion cargo rewards should either be made optional, or removed entirely.