If one fires a custom query, Spotfire builds a SELECT * FROM () around the query. This means that only queries with a SELECT statement are supported. However, I often have the case that I want to use other SQL statements. For example, the statements SET or EXPLAIN in Impala.
A concrete use case: Some queries need more resources than are available by default. Without the statement, the query always throws me an error and I have no way of executing this query in Spotfire. With a SET max_row_size or SET mem_limit I could ensure that these queries can be executed.
With the EXPLAIN statement, I could get an estimate of how large or complex the query is that I would submit (e.g. how many rows I would retrieve) before firing the actual query.