In short, the qa_db_select_with_pending function executes all the supplied queries (provided as "selectspecs" not raw queries) and any queued queries. There is generally no reason to use this yourself in plugins.
When a page is loaded there are some queries that are "queued" early on, before we get to the actual specific code for a page. The main example is the options which are fetched on every page.
It's done like that for when the "distant database" option is set in the config - all queries relevant to a page are run at once which is faster when there is latency. Most people will have MySQL on the same server as PHP so should set the "local database" option - in this case each query is run separately which is faster in that situation.
The qa_db_select_with_pending function is run on practically every page. Once it has been run, there is no benefit to running it again since the pending queries have been executed. If you have several queries you need to run you can call direct to qa_db_multi_select instead with an array of selectspecs. It will then be a little faster for users with the "distant db" option. (A selectspec is an array of data about the query - see the comment above qa_db_single_select in qa-db.php for details.)