Un polyfill es una cuña que reemplaza la llamada original con la llamada a una cuña.
Por ejemplo, supongamos que desea utilizar el objeto navigator.mediaDevices, pero no todos los navegadores lo admiten. Podrías imaginar una biblioteca que proporcionara una cuña que podrías usar así:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
En este caso, está llamando explícitamente una cuña en lugar de utilizar el objeto o método original. El polyfill, por otro lado, reemplaza los objetos y métodos en los objetos originales.
Por ejemplo:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
En su código, parece que está utilizando el objeto navigator.mediaDevices estándar. Pero en realidad, el polyfill (adapter.js en el ejemplo) ha reemplazado este objeto con el suyo.
El que lo ha reemplazado es una cuña. Esto detectará si la característica es compatible de forma nativa y la usará si lo es, o funcionará con otras API si no lo es.
Entonces, un polyfill es una especie de cuña "transparente". Y esto es lo que Remy Sharp (quien acuñó el término) quiso decir al decir " si elimina el script polyfill, su código continuará funcionando, sin ningún cambio requerido a pesar de que se eliminó el polyfill ".