Instance waits are collected from sys.dm_os_wait_stats and include all waits generated on the instance, whether they have a SQL query batch associated with them or not. Query waits on the other hand are collected from sys.dm_exec_requests and always have a SQL query associated with them. For example, a backup might cause instance waits but not have any SQL query and thus not show up in query waits.