The Erlang system is based on a runtime environment which is the basis for program execution. This makes Erlang programs easily portable since only the ERTS needs to be ported. ERTS is currently ported to a number of platforms.
Applications are typically written using direct calls into the runtime system or using support libraries for special functionality, e.g. I/O.
Together with the runtime system and the support libraries the distribution contains applications, such as compilers and debuggers.
To really levitate your application building you should spend some time going through the documentation covering the support libraries.