One thing that might be really useful here is a small table listing each term and it's definition. In addition, it would be good to provide a precise definition of "application" here and also of "job". One of the most confusing things for users is mixing the notion of jobs and applications (and until this PR _we_ haven't even used the terms consistently).

"driver" = JVM in which a SparkContext is instantiated.
"executor" = Long lived slave process which runs Spark tasks.
"application" = SparkContext and associated executors.
"job" = Runs within an application when an action occurs.
"task" = Unit of work within a job which is run on a single executor.