Embedded Ethernet Solution w/ PoE+; SPI or MII?
Having looked at both options, I ended up implementing an MII interface


  Firmware wise, is MII or SPI more difficult to implement, or are they
  the same difficulty?


The MII is more difficult to wrap your head around, odds are you'll get a library and need to understand a lot of it. Ethernet is complicated with multiple layers such as the physical, data link and transport layers. These all have software components that need to be understood to send even one packet. However, you can write your own software and have the flexibility to change anything. If you wanted to run a simple web server an MII with a more complicated processor is probably the way to go. Or need something more than just sending packets to a server then use MII. In all likelyhood the data rate will be higher. Find a processor with examples to get you started and help you troubleshoot. To write MII drivers from scratch would be very difficult.  

A spi interface is usually less configurable and more simple, but you only need to set registers. If it's simplicity you need and your just sending packets and need minimal configurabilty then use SPI. I think SPI would be less time to implement. 

If you really do require bandwidth (get a comm budget) then go with the MII.