There are many people currently discussing the difference in the roles in the Agile world - indeed only this week I read a post suggesting that a Scrum Master was also an Agile Coach (why not eh!). Within that conversation were a range of nuances between what makes someone an Agile Trainer rather than a Coach. As someone who does a bit of both of those I have given this a level of thought.
Personally I think a lot has to do with the mindset of the individuals involved and what their personality traits are. A Trainer will typically be in the glare of a projector in front of a group of willing (or conscripted) attendees who are keen to learn something (or add a tick on their PDP). A Coach on the other hand will often be found sat at the back of a room and observing what is going on, then quietly adding course corrections or advice as things progress through a workshop or session.
To me, these are different skill-sets and therefore there is a distinction between the roles; however whilst looking for a more firm and empirical answer I found an old blog post by Pierluigi Pugliese which hit the nail on the head for me.
He identifies that a Coach is responsible for controlling a process without necessarily adding any new information. The Coach should be able to ask the right questions and make sure the recipient team is moving in the right direction toward their own objective. The recipient team is normally providing all the content themselves. The more the Coach keeps the process moving along and resists him or herself from providing content in the discussion, the more effective they will be.
Why I really like this concept is that it clearly distinguishes Coaching from Training. In Training the goal is specifically to provide content to an audience who need new knowledge.
To quote Pierluigi directly:
"A Coach, content-free, opening new options and solving the blocks the Client (be it an individual or a team) has. This means driving the Client through a discovering process where she will find new options to deal with old problems."
"A Trainer, explaining the content of the various methods ... The silent assumption here is the Client is less knowledgeable in what she is being trained in and she will have to re-elaborate the material through a practical experience."
This means that ultimately "what is a Coach and what is a Trainer" is basically just the wrong question. There are simply a couple of different requirements: people needing Coaching and people needing Training.
These certainly could be fulfilled by the same person who has the requisite skills; or indeed by different people who prefer just providing one of the "ing's" and not the other.
Actually once this differentiation is made, you may find you are Coaching on one daily conversation and Training in the next!