Physical tables are USUALLY created to store the application data. They store all the persistent data that your application needs.
Temporary tables are used to store temporary information. Most of the times you dont need to keep them after you are done with the data. For example, a reporting stored procedure might decide to store the intermediary results in a temp table and process them for better performance.
So use TEMP tables to store all the temporary information and physical tables to store all the REAL data.