Need clarification on the parameters of analogWrite(pin,value)

Ok.. The 255 steps from the fact that 0 counts as one of the allowed values which total to 256?

And.. is this correct that each step is 2.55% , or do you mean 100%/255 steps =0.392%/step

What about the frequency? It is lock at 980 Hertz.. And there are a lot of instruction going on in the microcontroller. Therefore, isn't a 1 step just getting too close to the device clocking limits?

Sorry about the line of questionings. But I am building an optical device engine 100% with Arduino. It need a lot of precision and will like to understand that the realistic limitations are between the memory latency , speed and instruction.

Thank you all guys for putting up with me.