I thought you meant %i in for loops for a second. But why a lot of people do
for(%i = 0; %i < 12; %i++)
and most of the time don't use another variable, I have no idea. I guess it's just the way I learned it.
The only reason a one letter variable isn't good is because it doesn't adequately describe what the variable contains.
But in this case, %i as the variable in for loops (and j, k, etc in successive nested loops) has become such widespread convention, that the one letter
does describe exactly what it is
A quick google search places the origin as: