One good reason why you should not add custom public methods in your controllers aside from what --resource provides: Authorizations (aka Policies) registration.
Here, I show one neat trick I used to do (before Laravel 8 policy auto-discovery) to register my policies.