По сути работает все так же, как и плагины в скомпилированных программах. Есть общий для всех плагинов интерфейс, через который приложение с ними и работает.
Собственно клиентская часть не меняется как таковая - exe остается тем же. Но вот логика обработки каких то данных перекладывается на плагин. А уже как выполнен этот плагин - приложению по сути все равно, лишь бы реализовывался интерфейс. Поэтому можно в теории и на компилируемых, и на интерпретируемых языках.