Yes of course there is a reason. Do you want to know what it is?
When you do an attach() without first setting a value with write() the library sets the value to a default of 1500, centre for a servo but no use for an ESC which needs to be low (approx 1000).
You can use Knob exactly as it comes. Arming in that case just means the potentiometer must be turned right down when you start the program running.
Some of these things are a lot easier just to try and see for yourself instead of just asking questions.
I see, as i am new to arduino, i always though that you have to attach() first before allowing it to write() a value in it, (seem like i understand it all wrong) just a question that pop up in my mind, since you explained that the library sets the value to a default of 1500 , why does my motor still able to run then if it need to be low( approx 1000) for the ESC?
Thanks alot for the explanation, cleared much of my doubts with ESC and brushless motor! I will try with the potentiometer tmr!