Mentor, Trainer or Coach?

How do we interact with our team members in order to get the best out of their potential? Which is the most appropriate development path for a particular context?

All these are valid questions for a manager because the value of a manager is given by the value of his team and one of the main concerns should be people development.

Many times employees get training when they already have the necessary knowledge, tools and skills to manage their activity and they rightly find training as a waste of time.
Or many times we seek for guidance from our boss and she would “coach” us.

Which are the differences in between training, coaching and mentoring? When should we wear which hat?