The most important feature in a TP monitor, and likewise in an application server, is efficient resource management. Application servers pool and recycle expensive system resources such as network connections, processes, threads, memory, and database connections. As a developer, you don't really want to write your own thread management and synchronization services within your application code. You don't want to write code within your application to pre-create database connections, cache them in a pool and then allocate them to other applications as needed. You want the application server to do that for you.
Application servers provide automatic thread management and database connection management.
EJB increases the simplicity level even more than a plain application server. EJB automates complicated middleware services such as transactions, security, state management, and persistence. EJB also defines design patterns and naming conventions. An EJB server implementation needs a runtime system. The specification does not prescribe which one.