OK, so 20 years ago we had a situation where a tiny group of people had their entire higher education costs paid for by the state. These people, ceteris paribus, went on to earn vastly more than people who did not go to university. It was the latter group whose income tax went to pay for the education of the former. It was a massively regressive situation. You had poor people paying rich people so that the rich could get richer.
Over time we have shifted towards a system where more of the costs are paid by the individual who gains most from going to university, both in terms of their future income and in terms of the experience.
Now one could argue that even the poor receive indirect benefits from having a bunch of highly educated people in society, but this objection falls for two reasons: 1) There is no reason to imagine that charging high fees will mean people *won't* go to university, there might be fewer, but the externalities will still be there and 2) The person who benefits most directly, concretely, and straightforwardly is the person receiving the education, so it is only fair that they pay the bulk of the costs.
Now there are a bunch of arguments about community and reciprocity and all that jazz which I am sympathetic to but still don't find terribly persuasive, probably because I have been conditioned within an atomistic liberal individualistic society to believe all the stuff I just wrote outweighs that hippy BS.
1) Although poor people's taxes paying for wealthier people to have free university education is regressive, it is not the only thing the state does. If you look at the welfare state in aggregate is generally redistributive and progressive in that poor people get out more than they pay in and rich people get out less than they pay in. However it is important that rich people get *something* for two reasons:
a) If it is only poor people who gain from something it will become stigmatised, so being a beneficiary of the welfare state will become something to be ashamed of.
b) If rich people perceive the state to be constantly taking away from them and giving nothing in return they will be begin to resent the welfare state. As rich people are generally more politically influential than poor people (because they can fund political parties and are more likely to vote and more often live in marginal constituencies) then this will result in rich people agitating for a smaller welfare state, which will have long term negative effects for poor people, if they succeed (and as rich people are generally better at being organised and have more resources they are quite likely to succeed).
On the other hand if the rich perceive the welfare state to be a community enterprise, with everyone paying in and everyone receiving some kind of benefit, then it will not be considered a "bad thing" to be the recipient of welfare because everyone receives it, and the rich will not resent the welfare state, so the poor won't end up being on the losing side of a class war.
So by subsidising the higher education of the children of the rich you are tying the rich into the system of mutual obligation and support that underpins our political community.
2) Externalities: we want as many people as possible to go to university because it's good in and of itself and because it is good for the economy. More educated people are more skilled, more skilled people earn more money and in so doing create more wealth, which is better for society as a whole, including poor people. Also more better-off skilled workers pay more tax which means more support for poor people through the welfare state and redistributive taxation. More people will go to university if going to university is cheaper. Therefore it should be subsidised. Moreover if more people go to university then it makes more and more sense to pay for it out of general taxation anyway, because the state can more easily bear the burden of cost than the individual.