Share dependencies among multiple POM files
IMO it depends a bit on your exact use case.
Option 1 is certainly a good way to go but it can become more difficult/complex to manage if you already have a parent project and especially if you have several of those shared dependency sets (you might find yourself lost in a complex hierarchy of multiple parents). Another disadvantage of option 1 is that (AFAIK) it is not possible to exclude inherited dependencies so if your project extends the parent pom you have no choice but to inherit all the dependencies.
In that case option 2 is easier to manage, clearer and more flexible. Create a maven project of type POM and add a dependency to this where needed. With this solution it is possible to exclude certain dependencies from the POM project which again makes this solution more flexible.