Crazy. User agent strings are such a broken concept where every browser pretends to be another. How anyone is still attempting to use them to do anything useful is beyond me.
If you a building a webapp, use feature detection not user agent strings.
I agree with that advice for most sites, especially SPA's, 100%.
But Google search has some weirdly specific requirements. It needs to know if it can show a result that required a polyfill mere ms after it gets your request, for example, or if it would be better to just send less bytes and a scaled down version of the same result that might need different data to assemble. It's not perfect but a UA string is one of the only practical ways to do this. Having qa and engineers to keep track of this mapping for the most commonly used browsers may make sense for search to shave off a bunch of time shipping js and doing feature detection to figure out what it needs next, but may not make sense for your website.
In general there are no blanket general guidelines that apply to every single site regardless of usage patterns or business needs.
Disclaimer: Former web search eng, current Googler.
[1]: https://www.youtube.com/watch?v=QkayN3xiRDc