You send a holiday photo from your iPhone, and the person on Windows gets a file nothing will open. You attach one to an application form and the form rejects it. The picture is fine — the container is the problem.
Since iOS 11 the iPhone saves photos as HEIC, a format that stores the same picture in roughly half the space of JPEG. Apple software reads it everywhere. Older Windows versions, many web forms, print shops and a surprising number of business systems still do not.
Converting HEIC to JPG takes a second and needs no software. Any modern browser can already decode HEIC, which means the conversion can happen on your own machine: the photo is decoded, re-encoded as JPEG and handed back without ever being uploaded.
Choose a quality around 80 to 90 percent. JPEG is lossy, so the file grows compared with the HEIC, but at that setting the difference is invisible and the file opens everywhere.
If you keep hitting this, change the camera setting instead of converting one file at a time. In Settings → Camera → Formats, choosing "Most Compatible" makes the camera record JPEG from then on. Photos already on the phone stay HEIC.
There is a second setting that matters when you share: Settings → Photos → Transfer to Mac or PC → Automatic converts photos to JPEG as they are transferred off the phone.
HEIC is genuinely better technology: roughly half the size at the same quality, support for 16-bit colour, and the ability to hold Live Photos and depth information in one file. Converting to JPEG discards the extras and doubles the size.
So convert copies for people and forms, and keep the HEIC originals. Do not convert your whole library because one recipient could not open one photo.
Because JPEG is less efficient, a converted photo is often larger than the HEIC it came from, and that occasionally pushes it over an upload limit. If a form then complains about the size, compress the JPEG — capping the width is usually enough and costs nothing visible.