This is actually not related to WordPress and applies to any website or blog:
When an url is shared for the first time on Facebook, it visits the page to grab the title, image, description, etc. and keeps this info in cache for some time (this is the period referred to as an “unbelievably long time” in the question – by default it seems to be 24h).
It won’t recheck your page every time it is shared, this is why your recent changes are not reflected.
If you have made any change and want Facebook to reflect them immediately, you can use this tool to invalidate the cache and force it to recheck your page or post: https://developers.facebook.com/tools/debug/sharing/batch/