# Difference between SMPEND and SMPMID

I'm interfacing an SPI chip with a PIC18 device, programmed with a C program compiled with the XC8 compiler, using libraries from plib.h. In the docs, I read:

void OpenSPI( unsigned char sync_mode,
unsigned char bus_mode,
unsigned char smp_phase);


smp_phase
One of the following values, defined in spi.h:
SMPEND: Input data sample at end of data out
SMPMID: Input data sample at middle of data out

What does this parameter change?

I'm interfacing the ENC28J60, and found out that both values for smp_phase result in a working connection. Are there chips that wouldn't work with both values, and if not, what's the use of the setting?