A network still shows the old image
Networks keep previews for a while. The image's address changes when the record or template changes, but a network may keep the page's old tags too: ask it to read the page again (LinkedIn's Post Inspector, Facebook's Sharing Debugger), or wait.
The image has no text
PHP's GD was built without FreeType, so text is drawn with a small built-in font, or not at all. Ask your host for GD with FreeType support.
An image layer is missing
The layer's address was empty (the page has no image and there is no fallback), or the server could not read it. Images on this site are read from disk; images elsewhere need allow_url_fopen and network access from the server. Check the address in the preview's values (Load a record).
The preview and the saved image differ slightly
The preview is drawn by your browser, the image by the server's GD library; fonts and anti-aliasing differ a little. Open the saved image shows the real one.
A private item has no image
On purpose: images are drawn as the public sees the site, so private records, unpublished pages and private exhibits have none.
Two og:image tags on a page
A theme or another plugin writes its own sharing image as well. Turn off that one's sharing tags, or turn off OG Images for that kind of page under Settings.
files/og-images grows
Every page that was shared, or crawled by a network, has an image there. Delete cached images empties it; lower Keep cached images to keep fewer.