Put basically, the brushless ESC sends a power to the motor, but since it has three wires, it does this at specific timing to activate a specific group of electromagnets in the motor for it to spin. The faster it does this, the faster the motor spins.
The ESC is controlled by something else that sends it the desired throttle (usually via a pwm (pulse width modulation) signal). This signal is usually between 1000 and 2000. I am not sure what arsuino library you are using to control the esc so you will need to read the specifics on that.
Generally if you use a powerful ESC it will not cause the motor to burn, as the motor will usually take as much current as it needs. If the voltage is too high then you can burn the motor coils. Also if you use a propeller that is too big on your motor it will cause it to pull more current and either burn the motor or ESC.
In your case if it’s your ESC that smells funny, then it’s likely a MOSFET on your ESC is fried so you will need a new ESC.
Hope that helps you to understand the basics, if you want to learn more check on Wikipedia about brushless speed controllers for the technical details.