tryMax and reporting failed request within the loop-counter-value

As per the use case shared below, tryMax iterates given number of times when request fails.

e.g. tryMax(5){ search.search()}

If search fails in first attempt, it will retry second and third, till it will get success else it will attempt 5 iterations.

I have a follow-up question related to this. TryMax will repeat until the check on the Api response is as expected ? If my response body has a json element has a element called runStatus and i need to wait until the GET call returns response as COMPLETED ,Should i use tryMax or polling? What is the difference between the two.

tryMax(n) - use this when you would like the request should be “OK” till n number of hits. (e.g. in case of search, you will get “no results” for given keyword, you would try again till you would like to get search results, in this case you can specify number of times you would like to try, once requests response is “OK”, it will exit from the tryMax )

polling- continuously hitting the particular get or post, till calling poller.stop. (e.g. Keepalive call for checking server status).

i and polling are both