SPI- the router checks the incoming packets to make sure that the are genuine and requested by a system that is hooked to the router. Helps to keep out bad stuff.
UPnP- Used alot in online gaming. Certain games need specific ports open on the router to make the game work. If the game is UPnP aware then it will tell the router to open those ports to play the game and then close them when the game is done. Other programs not just games can be UPnP aware if they need to access the Internet as part of the program.
Also, some of the newer electronic devices that need Internet access use UPnP to make the connection.