In SQL Server, an execution plan is a calculation of the most efficient way to perform a query (or set of queries). So the database engine doesn't have to recalculate the optimal execution plan each time the query is requested, there is Execution Plan Caching. The cache is just part of the database memory pool that stores the query plan and execution context.
It sounds great, but there is the potential to create a problem. As the database schema evolves and the actual data changes, it's possible that some cached execution plans are no longer optimal and need to be recalculated.
A recent project involved an database ...