The problem lies not with TOCs in having an interest in turning a profit (and many do not turn a profit!), but poor or misguided implementation of ticketing. Essentially the railway tries very hard to cater for everyone, because they are ranted at continuously by the public that they ought to do so. This is why we have a myriad of fares and a myriad upon myriad of ways to book, and collect one's ticket.
What's wrong with expecting the TOCs to cater to all their passengers? Isn't that what they're supposed to be doing? Maybe they should look at the legitimate reasons why they're "ranted at"?
The TOCs are the ones responsible for the "poor or misguided implementation of ticketing". They implement things such as "m-tickets", so they can look "hip" and "modern" to the public, but with little regard for how it actually works in practice.
We also have every TOC implementing their own smart-card system, with the only "compatibility" between them being that you can (in theory, I don't expect it to happen in real life) have the same physical card enrolled in multiple systems (with multiple balances, accounts, etc.). What a mess.
All this seems to be a way for TOCs to tactility introduce "TOC-only" fares on all their routes, without lowering the price significantly to compensate users for the loss of flexibility. i.e. it's main purpose is to avoid sharing revenue via ORCATS; to hell with the passengers.
We need a proper, coordinated system, some "joined up thinking", which is sorely lacking in our fragmented rail system.
Of course, TOCs are actively encouraged not to cooperate with each other, so it's only going to get worse for the passenger in the long-term.