I forget which is which, but one is the old geoprocessor class and is still provided for compatibility with previous versions. The one you should be using for new code is the one in which you create an instance of the geoprocessing tool you want to use, set the parameters by accessing properties on that class and then pass the instance of that class into the geoprocessor's Execute method. The old way requires you to fill a property set with the parameters then pass the name of the geoprocessing tool as a string into the Execute method along with the property set.