At last, a good discussion on table variables.
The short of it is:
1. Temp Tables and Table Variables are both instantiated in TempDb
2. Schema changes can only occur on Temp Tables.
3. Table Variables perform best until there are around 500,000 rows.
I personally prefer Table Variables because you do not have to DROP them.
Click here for the whole article:
SQL Rocks: Temp Tables vs Table Variables