What is StandardSetController and why is it used in Salesforce? Why do we instantiate it? Is there any alternative to this?
-What? : StandardSetController objects allow you to create list controllers similar to, or as extensions of, the pre-built Visualforce list controllers provided by Salesforce.
-Why?: The StandardSetController class also contains a prototype object. This is a single sObject contained within the Visualforce StandardSetController class. If the prototype object's fields are set, those values are used during the save action, meaning that the values are applied to every record in the set controller's collection. This is useful for writing pages that perform mass updates (applying identical changes to fields within a collection of objects).
StandardSetController objects allow you to create list controllers.
This is useful for writing pages that perform mass updates.
Go through this link for more clarification
I hope this will leave you with more knowledge on Standard set Controller.
Give kudos if it helps you.