spark.sessionState.catalog.listTables is a more lazy implementation.. it does not pull the column details when listing the tables. Hence it's faster. Whereas catalog.listTables will pull the column details as well.
If the database has many Delta tables, it's possible getting the column details will take a long time, whereas just getting the metadata should be faster.