There is no difference between using a secong argument which is a member of
$PrintForms and using the option
FormatType. If the second argument is used, the option value is ignored.
The reason both exist is historical. In V1 and V2,
ToString had no second argument, and its options were documented to be equal to that of
OpenAppend. In V3, the second argument was added. This is partly because it was by far the most important option that could be given to
ToString, and also that
OpenAppend started having options that really didn't make sense for
ToString (e.g., BinaryFormat). While the documentation continued to state for many versions that it could take all the options of
OpenAppend, all the "new" options were silently ignored.
[I busted out a copy of The Mathematica Book, 2nd Edition, just to make sure my historical reconstruction was correct. :)]