Why is this so hard? Because places in Gramps often refer to other things, like other places (enclosed by), media, citations, notes etc. If you were to simple copy in the section about places in the XML, it would be missing many of these references. Importing would actually work, but you would end up with references that were created to fill in the gaps, they would be otherwise empty.
Also note that when you do a normal import of an XML into your tree, even if the import contains elements that are already in your tree, they are NOT automatically merged. You would end up with duplicates for any elements that were already there. So you would have to merge duplicates one at a time.
If you are trying to restore from an XML backup, and the trees are related (current one was derived from the backup), you might be able to use the “Import and Merge tool” addon tool. This is designed to spot differences between XML trees, and allow you to select which parts to import, or reject. I think you could select the ‘added’ places only, and they will be added to your tree. Unfortunately, you have to do this one place at a time.
One last possibility, would be to use CSV export and import. The CSV importer is designed to overwrite matching elements (matched by their Gramps ID). If you exported from a tree made from your backup, edited the CSV file to remove everything but the places, and imported that to your current tree, I think this would get what you want. It would lose citations, media, and notes attached to the places though. There might be some issues if you have added new places since deleting some of the ones in the backup, this would overwrite them if they ended up with common IDs. And it would fail miserably if you had used the “Reorder Gramps ID tool”.
But be absolutely sure to make a backup of your current tree before you try any of these. And check you data carefully to make sure it is what you want.