The LB_FAILED event in iRules is commonly used to supplant or complement pool member  monitoring, intended to catch the situation in which a pool member has been selected as the LB target but is not responding.

Here's an interesting forum post that I mentioned on today's podcast discussing some of the details of using LB_FAILED, including the details of transitioning any persistent backend connections maintained by persistence or OneConnect, how the LB_FAILED event is triggered, and how the timing for the event trigger is managed. 

I will be adding the details to the LB_FAILED wiki page in the near future, and also will be creating some TechTips about using iRules, iControl, and LTM application health monitors together to get the results you expect when a pool member fails or is too busy to respond timely to load balanced requests.

(Happy Independence, BTW!)