If your application makes a recursive query, it is expecting the DNS server which it queries to do all the work of finding a definitive answer to the query. It it's an iterative query, the application would do all the work.
Typically, your application will make a recursive query using the servers listed in /etc/resolv.conf. The server picked from here will than make iterative queries to find the final answer.