What is faster - insert into new table, or delete from existing table?
It very much depends on the details of your database.

Factors include:


Number of records to be copied/retained;
Whether you're keeping all columns or not; and
Number of indexes on old and new table (as alluded to by @a_vlad).


If I needed to delete most of the records in a table, I have definitely had times where it was faster to copy the records to another table, TRUNCATE the first table, and then copy the records to be saved back to the first table (with all indexes, constraints, etc.; the other table would usually be stripped down to just the raw data).

That said, if you're keeping notably more records than you're deleting, and if you don't have a lot of indexes on the original table, it's entirely possible that deleting would be faster.

NOTE: If you don't need to keep all columns, then the INSERT method is almost certainly your best bet.