What is The point of non-serializing a public variable

What is The point of non-serializing a public variable
yes i get that it hides it from the inspector (so does declaring it as private)
but what is the point of making it non-serialized

im somewhat of a programming noob

does it make the game more effiecient?
does it reduce the chance of that variable getting hacked?
what, what advantage if any do i get from doing this

You may want to access a variable directly without a getter or setter method but you dont want it visible in the inspector. Then you hide it from the inspector.

Example:

var door1:Door = GetComponent.<Door>();
door1.open = true;

If the property ‘open’ was private you were not able to set it without a setter method.
A variable set in the inspector overrides the value set in the script, so the advantage is having a public variable without the possibilty to change it in the inspector.