In Spark, actions are the final results of operations on RDDs. Without them, transformations are meaningless and difficult to use by applications.
One of methods generating new RDD consists on applying transformations on already existent RDDs. But transformations not only makes new RDDs but also gives a sense to all data processing.
The first post about Spark internals concerns Resilient Distributed Dataset (RDD), an abstraction used to represent processed data.