Nowadays it silences -Wunused-perameter. I'm not a fan as it just adds nonfunctional clutter only needed to appease a tool. The tools are supposed to work on our behalf, not against.
https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2510.pdf
(although some C compilers already allowed it in non-pedantic mode)
But of all those options, "(void)bla;" might actually be the least clutter (and at the same time the most compatible).
static void unused_(int x, ...) { (void)x; }
#define unused(...) unused_(0, __VA_ARGS__)
This way you can just have one `unused(foo,bar,baz,quux);` line at the top of the function listing all unused parameters.