Temporary Tables are really very helpful.
The table can be created at runtime and can do all operations which are done in a normal table.
These tables are created in a tempdb database.
Used when ?
We have to do complex join operation.
We do large number of row manipulation in stored procedures.
Can replace the usage of cursor.
Thus increases the performance.