Why not free travel for everyone?
Because in Britain, at least, we simply have *no* money. We have a national debt of close to a trillion pounds!
Maybe I'm more of a socialist than most people here, but in many countries, most (if not all) roads can be used for free
While the roads can generally be used "for free", they're sure as hell not free to build or maintain. Motorists pay through the nose, primarily through fuel tax, but also the annual road tax. Motorists actually pay in far more than they "receive" in terms of roads funding in the UK - but, of course, it's not ring-fenced. (Smokers and drinkers pay out more in tax than it costs to treat smoking and drinking-related diseases on the NHS, for instance, too, supposedly.) Take away all this motoring income, and you'll just have a bigger hole to fill. The same goes for public transport.
Money does not, alas, grow on trees.
It does seem to me though that all of this privatisation over the past 20 years or so, in both roads and rail, has resulted in many more costs for "middle-men". All these for-profit companies need to earn their profit somehow, and that's generally going to be by increasing costs to the taxpayer. Privatisation is supposedly meant to bring competition, but the UK rail franchises, for instance, have pretty much no competition (with a few exceptions), and fares keep rising. (This is in contrast to air travel, for instance, where competition from the low-cost carriers have resulted in the former state-owned flag carriers reducing prices drastically in recent years, relatively speaking.) Now, I haven't performed an in-depth economic analysis of this, so I may well be wrong, but I can't help but thinking that renationalising the railways and cutting out so many layers of bureaucracy might help to ultimately cut costs.