SPI Wiring Confusion I am currently trying to learn about SPI and how it works on the Arduino. I want to wire a MAX7219 chip to it to drive an 8x8 LED matrix with. Normally, I would assume the wiring from Arduino to MAX7219 goes: 


PIN 10 SS -> CS 
PIN 11 MOSI -> DIN
PIN 13 SCK -> CLK


And indeed, this answer confirms my assumption. 
However, after going through some other resources and guides I found some confusing and conflicting information about how the pins on the two devices should be connected. 

For instance, the documentation that came with my Arduino kit has this schematic. 



This tutorial I found has the same wiring. 



Most surprisingly, this tutorial doesn't even use the SPI pins at all. 



What perplexes me the most is the sentence 


  The VCC and GND of the module go to the 5V and GND pins of the Arduino and the three other pins, DIN, CLK and CS go to any digital pin of the Arduino board.


Is this true? If yes, then what is the point of the SPI pins at all? Why are the pins wired in so many different configurations?
I am really confused by this.
SPI is a communication protocol, you can take advantage of some hardware optimizations by using the pins where that hardware is available or you can do everything by hand using any pin you like, with the disadvantage of a bigger and slower firmware.
In certain situations, like in the presence of a shield or a library already using those pins, the SPI pins might be unavailable and you have to resort to a software solution (aka bitbang, as you manipulate bits to generate the proper signals), otherwise use of the hardware SPI pins is strongly advised.