In Guile, because it lacks an optimizing native code compiler, they write C extensions just to get their code to perform acceptably. In Common Lisp the only reason you'd use CFFI is if you needed to call some code that was written in C.
See for instance: https://wingolog.org/archives/2019/06/26/fibs-lies-and-bench...
Nowadays most Guile users write exclusively Scheme code, resorting to the FFI for code reuse rather than for performance reasons.