The difference between "She's gone to London" and "she's been to London" is clear
but there is a sentence that I doubt what to use.
what should I use in this sentence? (been or gone)
The refrigerator is full because we've ...... shopping
The correct usage would be:
The refrigerator is full because we've been shopping.
The use of "gone" in this sentence would otherwise imply that the refrigerator somehow refilled itself whilst you were still out shopping.
This is similar to the logic of your first example:
She's gone to London
Implies that she remains in London.
Whereas:
She's been to London
Implies that she visited London and has now returned.