Um polyfill é um calço que substitui a chamada original pela chamada para um calço.
Por exemplo, suponha que você queira usar o objeto navigator.mediaDevices, mas nem todos os navegadores suportam isso. Você pode imaginar uma biblioteca que forneceu um calço que você pode usar assim:
<script src="js/MediaShim.js"></script>
<script>
MediaShim.mediaDevices.getUserMedia(...);
</script>
Nesse caso, você está chamando explicitamente um calço em vez de usar o objeto ou método original. O polyfill, por outro lado, substitui os objetos e métodos nos objetos originais.
Por exemplo:
<script src="js/adapter.js"></script>
<script>
navigator.mediaDevices.getUserMedia(...);
</script>
No seu código, parece que você está usando o objeto navigator.mediaDevices padrão. Mas, na verdade, o polyfill (adapter.js no exemplo) substituiu esse objeto pelo seu próprio.
O que ele substituiu é um calço. Isso detectará se o recurso é suportado nativamente e o utilizará, se for, ou contornará usando outras APIs, se não for.
Portanto, um polyfill é uma espécie de calço "transparente". E foi isso que Remy Sharp (que cunhou o termo) quis dizer ao dizer " se você removesse o script de polyfill, seu código continuaria funcionando, sem nenhuma alteração necessária, apesar da remoção do polyfill ".