There are a number of STP-like protocols and this page tries to list them all and their differences. A good source of info is this Cisco document.
802.1d 1993 STP (generally known as 802.1D)
This is the standard spanning tree. I think it was the first one to be used on networks.
PVST (Per VLAN Spanning Tree)
Cisco’s version of 802.1d. The main difference was that it allowed a spanning tree per vlan. However this only worked on ISL trunks. Also introduced the concept of PortFast, UplinkFast and Backbone Fast.
PVST+ (AKA Per VLAN Spanning Tree on steroids)
A modified version of PVST that can run on 802.1q & ISL trunks.
Provides faster convergence after a topology change by using query messages. Also imported the concepts of PortFast, UplinkFast and Backbone Fast from PVST. Now obsolete and incorporated into (802.1d 2004)
RPVST+ (Rapid PVST+)
Rapid-PVST+ is based on IEEE 802.1w standard.
MISTP (Multiple Instances STP)
Cisco propriety protocol. This concept maps a number of VLANs to the same spanning tree instance by appending a list of the VLANs associated with a particular spanning tree instance. This is a relatively simple implementation that allows the number of spanning tree instances to be substantially reduced, thereby reducing system overhead associated with running STP on multiple VLANs and conserving bandwidth.
802.1s MST (Multiple Spanning Tree)
Enhancement of RSTP which included the addition of multiple spanning trees. (Based on MISTP and included the rapid convergence seen with 802.1w). With PVST you must have one STP tree per VLAN. With MST you can have one STP tree per set of VLANs. Again its been obsoleted and incorporated into (802.1q 2003)