I would like to know why an unused variable is bad.
Is it because the compiler would create a bigger binary? If yes, is there a tool/script which can add an unused
keyword or something like that?
The compiler gives you warnings to hint on things that could potentially be a problem or unintentional.
Unused variables will be optimized away most likely. But maybe you intended to do something with them – and in that case the compiler helpfully notes that you may have done something you didn't want.
What's the use in a variable you declare but neither read from nor write to?