One thing I think you're missing: a perceptron model and a spiking model aren't mutually exclusive. In fact, in perceptrons, people usually use a sigmoid function. That's not a coincidence: it kind of simulates a spike. If you were to model an organism such as C. elegans, whose neurons aren't spiking (but use "graded action potentials"), you would use another type of activation function (by the way, if you like the Human Brain Project, you should also check the Openworm project, which is much more realistic and already gives some interesting outcomes).
So, back to the point. When you try to model learning and generation of memory, you often end up dealing with plasticity. Just a quick explanation: a neuron does fire an Action Potential (AP) when its transmembrane potential gets above a limit. The potential itself changes due to the inputs from other neurons. But all the inputs don't have the same weight. Let's say you look at neuron A, which gets synapses from neurons B, C, D... If B fires at the same time as C, it can be enough to create an AP from A. But, even in combination with B or C, D doesn't elicit enough transmembrane potential variation to create an AP; it has to fire exactly at the same time as E, F, G and H to get enough "firepower" to activate A.
However, if each time D fires, A gets an AP (because of the simultaneous activation of other incoming neurons), then you could say D is "useful" for A, and (depending on the type of neuron and other parameters) the weight of D can increase, so that, after a while, D is able to elicit an AP in A just by firing at the same time as any other incoming neuron. That's a plasticity phenomenon. Note that here, it is a really simple hypothetical example. And also that the idea that learning results from plasticity is more and more being challenged.
So, if you want to understand how learning and memory happen, you might be interested in the weights of the connections only, and how they evolve depending on the network's activity. In that case, a perceptron model is a good way to go.
Now, the big new thing these days with artificial neural networks is simulating them with biological precision- that is, with spiking
So, as you already mention in your question, this is a matter of choosing a model that you're going to use (as a researcher trying to understand the brain). This is not trying to give an accurate depiction of how the brain really is. If you're interested in the weights of the connections, you can use a neural networks approach (and this is not outdated), and you don't care about a single ion channel on the membrane of a neuron. But alternatively, you can also dedicate your life to understanding the structure of a single ion channel, and how simple details can determine the whole working of the brain.
Projects such as the Human Brain Project are trying to create a "biologically exact" model of the brain. So, it involves modeling the spikes, as well as the network organization, as well as single ion channels. So, in that case they don't need to use paradigms such as artificial neural networks, since the network's behavior should be a result of the single neurons' modeling: that would be an emergent response. However, they don't have anymore the simplifications brought by other models, so, they need huge computational power, and they also face new problems: for example they have to give values to all the individual parameters of their models, some of which are currently unknown, and could even not exist at all.
So, I think this gives answers your question, in the sense that it is not the brain which evolved to pick a model, but the scientists who try to modelize one particular aspect of the brain.
EDIT: I see in fact this question is quite old; sorry it was a suggestion on the right which brought me here. But I think my answer can still bring an aspect which wasn't already mentioned in the other answers. So I hope you will see it.