Pros

unicity

ensure there aren't duplicate username/emails by letting the DB unique the index. If you aren't using transactions and aren't locking the table, using 2 different tables won't guarantee this

cons

mess

the user-temp table is there to avoid to have a lot of junk data in the real users table

that you end having 20 real users and 100 records

more coding

you must add filtering functions in the admin stuff

optimization

maybe it's faster to deal only with real users in a table: no flag to check