After years of being absolutely useless as far as fares are concerned, National Rail have finally got their website linked to the sales systems of all of the train operating companies. So, with the exception of things like season tickets, all available tickets are shown on the National Rail site:
http://www.nationalrail.co.uk/
Search for suitable trains and then click on 'Get fare options'.
If you've searched for a return journey, you'll now see two links, both marked 'Click here for single fares'. Click on either of these links. (That's important. It's often cheaper to buy two single fares than purchase a return ticket).
The full range of single and return fares will then be shown, with their availability (or lack of it) indicted by the presence (or absence) of 'radio buttons' alongside each fare (and underneath the relevant train service).
Click on the relevant radio button(s) to select the ticket(s) you require. Then click 'Purchase tickets'.
Now comes the annoying bit. National Rail don't sell tickets directly, so you have to choose a train operator to buy the tickets from. Always try to select the operator which actually runs the train service you're planning to use. (If your journey uses the services of more than one train company, select the company which runs the first train in your journey). This can simplify the arrangements for obtaining your tickets. (e.g. if you book York to Edinburgh with GNER you'll be offered the option of collecting your tickets at York. This might not happen if you book through a different train company).
Now that National Rail have got all available tickets listed on their site, there's no point bothering with the other agencies.
Chris