There is a 3rd choice, which I consider the best:
If your iPhone is fairly recent (going back to the iPhone 11, and also XS and XR models), you can use an eSIM, which is a software SIM. There are several apps you can download for buying an eSIM and using it; I prefer Airalo, which is free on the App Store.
Using an eSIM, you can buy a plan that fits your travel; for example, on our upcoming Italy trip, I'll buy an eSIM that will work for 30 days, give me 10GB of data (which allows me to upload my photos to iCloud, and also to connect to the servers that I manage in a data center in Atlanta), send texts. The cost for this particular one is $24.
TO MAKE CALLS: there is an app that they recommend, called Hushed, which will give you a temporary phone number. You can then use the phone number to send/receive calls, which actually go out using your Airalo eSIM, not your normal cell carrier.
If you don't need to make phone calls, you can just use Airalo, and then use your phone as a hotspot, sync to iPhone (which I rely on for making sure all my travel photos are backed up to the cloud), send texts back and forth, and of course surf the web, etc.
If you're traveling through multiple countries, you can buy a regional eSIM; for example, there's one for 39 European countries, and the cost for 30 days, 10GB of data, is $37. There are cheaper and shorter plans too--for example, you could do 30 days, 3GB of data, for only $13--then you can top off your account any time if you use up the data plan that you have. For most people, this is a better way to go. There are also 7-day plans as well.
I tested it here at home with a US eSIM, and it worked great; I was able to use it just as I normally use my phone, and even used Hushed to make and receive calls to the temporary phone # that it assigned to me.