+1  A: 

One difference between the two is that the Command Window will accept commands at any time (Visual Studio Commands) whereas the Immediate Window (Evaluations) only accepts commands during a debugging session.

Lucas McCoy
+4  A: 

From MSDN (Command Window):

The Command window is used to execute commands or aliases directly in the Visual Studio integrated development environment (IDE). You can execute both menu commands and commands that do not appear on any menu.

From MSDN (Immediate Window):

The Immediate window is used at design time to debug and evaluate expressions, execute statements, print variable values, and so forth. It allows you to enter expressions to be evaluated or executed by the development language during debugging.

McWafflestix
+7  A: 

This blog post offers a pretty decent overview of the users of the two windows. Quote from that page:

The Command window is used to execute commands or aliases directly in the Visual Studio integrated development environment (IDE). You can execute both menu commands and commands that do not appear on any menu. To display the Command window, choose Other Windows from the View menu, and select Command Window

The Immediate window is used to debug and evaluate expressions, execute statements, print variable values, and so forth. It allows you to enter expressions to be evaluated or executed by the development language during debugging. To display the Immediate window, open a project for editing, then choose Windows from the Debug menu and select Immediate.

It also includes a seemingly very complete list of commands and aliases that you can execute (for VS 2005 at least) - from either window, as far as I understand. Once of the nice features is that you can switch between the two windows simply by executing the cmd and immed commands.

In addition, see also the MSDN pages on the Command Window and the Immediate Window.

Noldorin