It has the meaning of "making one feel better"; "making one happy".
In House of Cards, an American TV drama, Walker, the President of the USA, went to Frank's for dinner. And someone served pie later.
Walker didn't want to eat pie.
Frank said, "Oh, Mr. President, a slice of pie is good for the soul".
I don't understand Frank said "good for the soul". Could you explain?
It's good for your mental health.
I'm not a teacher, but I write for a living. Please don't ask me about 2nd conditionals, but I'm a safe bet for what reads well in (American) English.
Is it a common way for Americans to try to ask their guests to eat more to show their hospitality?