danieleff wrote:I do not know why is it not called SPI.transfer(buffer, size) like in the arduino reference.

Because SPI.write(buffer, size) only transmits (writes) data, but no data is read form peripheral. Mostly used for SPI display boards.
There is also an SPI.read(buffer,size) function for reading only (actually it writes 0xFF). Used in SDFat.
These are the most commonly used functions.
SPI.transfer(data) is available for single data or multiple DMA driven write/read accesses, as already pointed out. I am not sure where buffered DMA write/read would be useful.