Agile Coaching means that an experienced Agile Coach will work closely together with an organization to improve the organizationals product development agility. Agility is a broad term used for the flexibility in product development-- the ability to respond to changes. This flexibility is achieved by shortening feedback loops and focus on improved quality. This faster feedback cycle might also leads to other benefits such as higher productivity.
This is where a coach works with multiple teams and the management to improve the organization and it’s structure in order to increase its agility.
This is where a coach works with one or a few teams to improve their team-working and Scrum practices. It is common for a coach to take on the ScrumMaster role.
This is where a coach works with (or on) a team on their actual codebase in order to improve the technical practices and adopt agile development techniques such as simple design, refactoring, unit testing, TDD, ATDD