In the event of a browser-specific bug, it's important to be able to quickly roll out (or roll back) changes that reduce the chance of disruption.
Specifically, this by nature cannot require an SDK change, since that requires developers 1) discovering, 2) applying, and 3) rolling out the update.
This almost invariably requires use of user-agent sniffing rather than feature detection, since the point is to work around buggy implementations.
Example: conditional mediation in Firefox can break the other APIs:
https://bugzilla.mozilla.org/show_bug.cgi?id=1877790