Scaling doesn’t always have to be bad. In todays world where everyone expects everything to work on every kind of screen out there some times just scaling images is way easier than hacking around it. You could take a look at srcset if you want to be able to show different images depending on the screen space available https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images
No catch all answer, whatever you decide them to be. Usually you should keep in mind both the quality of the images (if they are central to the content provided) but also the load times and data amount for users. Normally don’t want to serve 20x 25MB images on a single load…
The only thing this will have an effect on is how you display the images / how the site is designed.
Likely. If you want a range of different images - or allow people to upload their own images you will probably need to crop thumbnails or find some other way of displaying them if you want it to look uniform on the page.