Final answer:
Custom Controllers in Visualforce are necessary when a developer requires a completely customized business logic that is not provided by Standard Controllers,
Step-by-step explanation:
The need for a Custom Controller in Visualforce arises when there is a requirement for a completely customized business logic that does not align well with the predefined functionality of a Standard Controller.
Although it is true that a combination of a Standard Controller and an Extension class can accomplish a wide range of tasks, there are scenarios where the Standard Controller's functionalities are excessively restrictive or not necessary.
For instance, when a page needs to operate with data that isn't directly related to a specific Salesforce object, or when there's a need to integrate with external services, a Custom Controller can provide the necessary flexibility.
Moreover, Custom Controllers can be more efficient because they don't carry the overhead of the Standard Controller's features that may not be used. Simply put, it offers a clean slate for coders to dictate every aspect of the data handling and user-interface interaction.