I guess most people consider London fares to be expensive as they only think of Z1 fares. But TfL rail fares for off-peak non-Z1 journeys are pretty cheap too; £1.50 for any off-peak journey in Z2-6 - which can make many journeys cheaper by rail than by bus. You can even make quite long journeys such Heathrow to Epping[*] avoiding Z1 for just £1.50.
* via Turnham Green, Gunnersbury and Stratford.
And if you hold certain railcards and have it linked to your Oyster (like I have with my 16-25 one), the Tube/DLR/LO off-peak in Z2-6 becomes £1

! (1/3 off on off-peak train fares and caps or a paper Z1-6 off peak travelcard). This makes any weekly or longer travelcards poor value for me unless I know I'm making several peak time journeys.
In some areas the bus operators can be really expensive, I remember finding myself at Heathrow Central Bus Station last year and wanting to try one of First's new Volvo hybrids, I had £3.15 with me and was shocked when a Heathrow-Slough single was £4.60. When I did eventually go on one I opted for a "Slough Area 1&2" day ticket for £6 and sampled their other services as well. On the other hand, if you take any route that participates in the Heathrow Free Travel Scheme and change to the 81 you can make a journey to Slough in roughly the same time for £2.40.