add_image_size() registers a size that WordPress will generate at upload time. Adding one to a theme has no effect on the several thousand images already in the library, so half the site gets the new crop and half falls back to the full-size original.
wp media regenerate --only-missing --yes
--only-missing is the flag worth knowing: it skips images that already have every registered size, turning a job that reprocesses the whole library into one that fills the gaps. Note the flip side too — removing a size from the theme does not delete the files, so an install that has changed themes a few times accumulates orphaned intermediate images that nothing will ever clean up.