Please check out the Wikipedia article. It has almost everything you want to find: http://en.wikipedia.org/wiki/Integer_factorization
The decision really depends on the range of the number, and sometimes on the property of the number.
For a large number of about or less than 100 digits, according to Wikipedia, a square sieve is the best. For large numbers, a field sieve is best.
I'm not talking about small cases, since you already mention Pollard Roe, this should be trivial.
source share