En detalle
Los navegadores aplican la política del mismo origen: un script de un sitio no puede leer datos de otro origen salvo que ese origen lo autorice con cabeceras como Access-Control-Allow-Origin. En las peticiones no simples el navegador envía antes una comprobación previa OPTIONS para pedir permiso. CORS protege a los usuarios en el navegador; no impide que otros programas llamen a la API.