Difference between creating a Rest endpoint and a route&controller with jsonResponse
The main difference is the authentication and authorization,  is Rest Solution  you should provide different way to authentication and authorization to access to the endpoint. but in Controller,route solution is MVC base solution that drupal and it's ACL  ( role and permissions) hanle the access to the results not REST authorization methods like basic_auth, oauth2  etc.