Si el SPI es maestro entonces vos dictas el reloj de todo lo que este conectado, por ende para leer algo ( para que salga del receptor) debes enviar algo.
Para entenderle mejor no hay como una imagen:

Entonces vamos a suponer por ejemplo un ADC en SPI ( ADS7843 )
http://www.ti.com/lit/ds/symlink/ads7843.pdf (Pag 8 tenes el diagrama de tiempo de la comunicacion)
El formato de envio es 1 byte indicando inicio de conversion y cual a convertir, y luego tenes que recibir 2 bytes ( son 12bits repartido en 2 bytes).
Entonces desde el punto del SPI maestro deberia hacer lo siguiente:
- Enviar el byte para iniciar conversion.
- Finalizado el envio no darle importancia a lo que llego en SSPBUF
- Enviar "nada" ( 0x00 )
- Finalizado el envio, leer el SSPBUF que es donde voy a tener mi primer dato que me envia mi esclavo
- Enviar 0x00 de nuevo
- Finalizado el envio, leer la segunda parte que esta en SSPBUF
Lo que quiero decirte es que como MAESTRO sos quien controla cuando leer y cuando escribir, vos tenes control del reloj, y por ende si queres que el esclavo envie algo vos debes hacer correr ese reloj. Entonces tu indicador de cuando recibis algo es cuando terminaste de enviar tu dato.
Si tu PIC esta como ESCLAVO, vos no controlas el reloj entonces recien cuando el maestro envie los 8 pulsos de reloj se va a activar un bit para indicarte que ya tenes tu dato en el SPI.
Vuelvo a repetirlo y espero que en otra forma, en este caso, al no tener control de reloj, vos no sabes cuando es que recibiste algo, por ende necesitas que el modulo te avise cuando ocurrio.
Espero haber sido claro.. Y que ahora entiendas el SPI.