using kubectl set image deployment/deployment <new-image> will not allow you to perform an update to the application with minimal downtime, even if the deployment is exposed using a Service.
This command will update the image of the containers in the deployment, but it will not perform a rolling update. A rolling update allows you to update your application with minimal downtime by replacing the old version of the application with the new version one pod at a time, while ensuring that there is always at least one pod available to serve traffic. Without a rolling update, all of the pods in the deployment will be replaced at the same time, which may result in downtime for the application.