Ten příklad je k ničemu, protože o tom, zda je lepší singleton nebo statické metody, se budete rozhodovat podle kódu těch metod, ne podle jejich hlavičky.
Důvod pro tu jednu instanci je tehdy, pokud ten kód těch metod bude trochu složitější, a budete z nich volat jiné metody a jiné služby. V případě statických metod pak musíte mít závislost na těch jiných službách natvrdo v kódu, a nezměníte ji ani třeba pro účely testů. V případě singletonu předáte ty závislosti jako parametr při vytváření té instance, takže pokud ji potřebujete vyměnit, jenom zavoláte konstruktor s jiným parametrem, ale na té implementaci singletonu nic neměníte.
Collections.sort() je zrovna případ, který by bylo lepší řešit pomocí singletonu – a jako statické metody je to řešeno jednak kvůli stáří té třídy (přeci jen v té době poněkud chyběly Java best practices), jednak aby se to snadno použilo i ve velmi primitivních aplikacích. Jinak by bylo rozumné té třídě umožnit předat třeba implementaci řadicího algoritmu, výchozí comparátor, výchozí locale pro řazení apod.