Compilar es pasar de un lenguaje de programación de alto nivel como C a lenguaje de bajo nivel (código máquina). Es como tú dices, crear un ejecutable, que en linux no es que tenga extensión .exe, es simplemente un archivo con atributo de ejecución. No tiene nada que ver con distribuir. Distribuir puedes distribuir tanto binarios (el programa compilado) como las fuentes (sin compilar).
Si instalas un driver que ya venga compilado, tendrás que asegurarte de que sea exactamente para tu kernel, si no no funcionará. En cambio si te lo compilas, ya se instalará él solito para tu kernel en concreto. Eso sí, deberá ser al menos compatible con la serie de kernel que tengas, 2.4.x por ejemplo.
salu2