Is there a difference and if so, what is the difference?
All 3 are important and there is definitely overlap.
Consulting typically refers to the relationship between a consultant and a client.
The consultant provides experience, training, and expertise in a particular area.
Professional Coaching typically refers to the relationship between a coach and a coachee.
The focus is on developing the coachee. The coach doesn't require background information on the coachee's area of interest. Instead, they apply their coaching skills. Other forms of coaching refer to correction and less on development which is not considered professional coaching.
Mentoring typically refers to the relationship between a mentor and a mentee. Mentors can typically relate to the mentee because they have experienced the path the mentee is looking to take. This is the main difference between coaching and mentoring.
So how do you know which one to choose?
Focus on the individual and the situation.
Consulting can be powerful when the client is very inexperienced in an area they are looking to undertake.
Coaching can be powerful when trying to get people to think for themselves instead of relying on others for the answer.
Mentoring can be powerful when looking for advice from someone who has "been there, done that".