I do like trains for the lack of hassle, and for local travel (especially with my West Yorkshire 1/2 fare card) they are reasonably priced compared to driving, but this changes when there's more than one person going.
With a railcard, it's still a reasonable prospect to travel cross country on your own price wise, even without much notice. But again, if it's not just you going then it's much better to drive usually.
But I suppose that when the train companies are there to profit, they must have worked out that this pricing structure gives them the most profit, and who is to stop them? Fundamentally, if people don't want to get on a train they don't have to, but it does make things much more inconvenient if you don't have a car. People still use trains because they are the best method of transport at that time, or they wouldn't use them. While being milked isn't an agreeable concept as such, with the train companies out to make a profit, what can you do?