DELETE FROM removes rows:
DELETE FROM orders
WHERE status = 'cancelled';
As with UPDATE, the WHERE decides which rows go, and without it every row is deleted. The table itself stays, empty. Run the same condition as a SELECT first to see what you're about to remove.
DROP TABLE is different: it removes the table and its definition. Many databases also have TRUNCATE TABLE name, a fast way to empty a whole table.
NULL follows the usual rules here: WHERE coupon_code = NULL matches nothing, so nothing is deleted. Use IS NULL.