It never used to be the case, but it seems that for short distances the train is cheaper than the bus. Recently, I had to travel in to Haywards Heath from Burgess Hill. The local bus company charge GBP 3.70 for an adult return fare, and children travel for GBP 2.40 each. I went ahead and took the bus on this occasion, but when I arrived home I thought I should check the train fare table to see what it would have cost to go via train. I was quite surprised. For an off peak journey, children travelled for GBP 1.00 each and adult tickets were just GBP 2.70. So for two adults and two children we saved GBP 4.80, or about 50%. This can amount to a very significant saving if you make the journey regularly.
For longer journeys, particularly those between popular destinations, I have found the train very expensive. However, for short runs it does seem more economical than the bus, or even the car if you are willing to forsake a little convenience.