Why has evolution made neurons use spiking?
One of the many advantage of an all-or-none system is that resources can be conserved for timing events that require synchronized collaboration between many cells (like locomotion).  Binary behavior may also partially be a side effect of speed and efficient long-distance information transfer (which is one of the great advantages of neurons as cells in the first place).

It should be noted, however, that neurons aren't universally binary.  It is more accurate to say that neurons have binary properties that allow neurons to behave in a binary manner (but not all neurons do).  On top of that, many continuous (i.e. non-binary) processes underlie the neuron's excitability threshold.