Is there a benefit to using FOR SHARE in this PostgreSql simple select?
That depends on what else happens in the transaction.

With the for share there, nobody can update the selected get_offer_data row until the transaction commits or rolls back.

Without the context, it's really impossible to say what the original intended purpose of adding the lock there was.