People often wonder why excess grain is dumped instead of shipped off as aid to people that can't afford it. The reason is simple but complex in its implications: the grain is worth less than the cost to move it somewhere else. In addition to the loss of underutilized grain, someone has to pay even more money to move it that in the net is not a cost efficient way to get food to the people that need it relative to not using dumped grain. So the grain is dumped.
One way to improve the situation is to invest in infrastructure to reduce the logistical cost, allowing the grain to compete across a wider range of market prices. However, that investment in infrastructure has to be offset by return on the grain production it effectively allows and has to account for the unpredictability of a global market that the subsidies are crudely trying to mitigate. There is a diminishing return.
One of the big issues in the global market is that grain trade tends to be highly protectionist, in part for food security reasons. While some countries (like the US) produce grain in vast quantities at low cost, most governments do not want to be dependent on foreign countries for their food. At the same time, these policies increase the price and restrict flow of food in these countries in times when the global market is a much more efficient producer. Subsidies and protectionism tend to be very blunt instruments.