Temporary tables are objects or structures similar to normal tables, but as their name says, they exist only for a limited period of time. They are useful when you need to store data to perform some task, but you do not need that data to persist after the task has completed.
There are some differences on how they work, and how can they be used, depending on the dbms.
In oracle, you can create temporary tables whose data remains until the current transaction ends, or until the current session ends. In SQL Server, you can create local temporary tables, which will live until the current session ends, and are visible just for the creator user, or global temp tables which are visible to all sessions and live until the last session that is referencing them ends.
The deletion of the temp tables is done automatically by the dbms.
Hope this helps.