TeamCity comes with a series of Runners out of the box which offer support for different functionalities such as MSBuild, Ant, Code Inspections, Gradle support, etc.
What happens when you want to perform some operation that is not supported via a runner? Use the Command Line runner? Find a plugin? Build your own plugin?
TeamCity 8 introduces another option: Meta-Runners. Meta runners allow us to reuse build steps by representing them as a native TeamCity runner. In other words: we can extract configured build steps into Meta-Runners and reuse them in other build configurations.