What is a CAL?
A CAL is a Client Access License. This type of license grants one network user or device permission to access a network service (such as a SQL or Exchange Server). There are also different types of CALs for each service.
What is the difference between per seat, per server, and per processor?
The Per seat licensing model refers to the total number of computers allowed to connect to the service on that machine. Each connection is called a Client Access License. In per seat mode a single CAL for each workstation can be used to access multiple servers in per Seat mode. This is usually the most economical option
In Per Server licensing, each CAL is dedicated to that specific server (think of this as concurrent connections).
In per Processor mode, no CALs are needed to connect to the server. The right to access the server is covered by the (more expensive) Software License itself.
Refer to http://www.microsoft.com/licensing for more information.
What is the difference between a Device CAL and a User CAL?
A Device CAL is specific to a workstation whereas a User CAL is specific to a user. For example, if you have one user connecting to a SQL server from 2 different machines, you would need 2 SQL Server Device CALs or 1 SQL Server User CAL.