Not all London trains to Canterbury go via Rochester.
There are 3 London train stations with trains to Canterbury. St Pancras, Victoria and Charing Cross/London Bridge.
Canterbury also has two railway stations. Canterbury East, and Canterbury West.
The St.Pancras to Canterbury train does NOT go via Rochester. It's a high speed train that is fast to Ashford, and then calls at the villages between Ashford and Canterbury West. The train fare is higher, but the travel time is much shorter.
To check if your London train does call at Rochester, go to www.nationalrail.co.uk You can put in "all London" stations to Canterbury, then click on a suggested journey, from there, the site allows you to click into "destination stops". This will show you which route you will travel, and all the stops on the way.
As other posters have said there is no need to advance purchase train tickets.
Occassionally you get discount deals, like 2 for 1, and Kids go for a Quid ( £1).
For details of discounts, you'd need to go to the train company website, www.southeasternrailway.co.uk
The railway stations have booklets, called 2 for 1 Attractions, just pick one up, and use the vouchers inside, but you must keep your return train tickets to use the vouchers.
Children under 16 generally get half price rail tickets, but the "kids for a quid" offers provide further excellent savings.
Edited: 3:05 pm, June 12, 2012