As most know, /ip/route supports a “check-gateway” parameter, but’s it limited to the next-hop today. The “recursive routes” technique extends this to any host... BUT it’s awfully complex and still limited to check-gateway’s simplistic/fixed ping algorithm.
But with the expanded netwatch options in V7.6, it be very handy have a new option like check-gateway=netwatch in /ip/route. The idea is there be additional parameter, say netwatch-hosts= that would match a specific host(s) monitored in /tool/netwatch. /ip/routes then follow the up/down stuff for the “linked” netwatch.
This allow for way more sophistication in what’s considered a “failed route”, and the syntax be WAY simpler to enable good route failover. Using netwatch also allow a DNS name to be used as the monitored hosts – that’s not possible in a route table. Now I use the recursive routing in most of our configs but it’s non-trivial to get right and the resulting config equally confusing to understand/explain. Frankly it’s plain awkward to specify the monitored hosts in the route table – but that’s required when using recursive routes.