Windows DNS Forwarders: If your primary DNS server can’t resolve a query, it sends a recursive query to one of the forwarders in configured list, recursive query tells the forwarder that the local server will accept the response, then the forwarder tracking down the record in the query, which involve many referral process until to get the result, and the local primary DNS server waits for the Forwarders response and then sends the result to the client
Conditional Forwarders: conditional forwarders is same like forwarders, only difference is it only forwards the query if the configured condition is machining with the client query, if you are doing a query support.widowstricks.in then *. widowstricks.in should be added with DNS servers IP’s on the conditional forwarders to forward the query
Root hints: Root hints use iterative queries. If the primary DNS server can’t resolve a query with local database, it sends a query to one of the root DNS servers on the internet. The root server will respond with a referral, which contains the addresses of the DNS servers authoritative for the top level domain (.com or .in) in the original query. The local server then queries one of the servers in the given referral, which will respond with another referral, this time to the servers authoritative for the second level domain (windowstricks.in), query continues until a server is reached that is authoritative for the FQDN in the original query(may be support.windowstricks.in). It will return an authoritative positive or negative response – a response which either contains the record sought by the original query or indicates that it doesn’t exist – and the local server will send that response to the querying client.
So the difference between DNS Forwarders and Root hints is the query type and how is handing the client dns query, hope have explained clearly to understand use the DNS Forwarders and Root hints as per your requirement