1. Check the image file
In Media › Library, open the image and visit its File URL. A 404 means the file is missing; upload it again.
2. Check permissions
In File Manager, wp-content/uploads and its folders should be 755 and image files 644.
3. Check for http/https or old domain links
After moving to HTTPS or a new domain, images may still point to the old address. Use Better Search Replace to update them (see How to update WordPress URLs after a migration).
4. Clear caches
Purge your caching plugin, Cloudflare and browser cache.
5. Hotlink protection or CDN
If hotlink protection is on, make sure all your domains are allowed. If you use a CDN, check its settings and purge its cache.
6. Regenerate thumbnails
If only thumbnails are broken, the Regenerate Thumbnails plugin can recreate them.