If anyone needs to claim on their travel insurance for missed ports I thought it might be helpful to post my experience. The most important thing was to get a letter from the P&O reception desk whilst still onboard, detailing the ports missed and the reason (adverse weather in our case). They print out individual letters for each passenger.
We were on the 2-9 July Iona cruise to the Norwegian Fjords and did not stop at Hellesylt or Haugesund which were on our itinerary.
We had a Staysure travel insurance policy with extra cruise cover which included compensation for missed ports. It was a bit confusing trying to work out which claim form to use but I spoke to their customer service who said to use the one for "Travel Delay".
I was able to complete my claim online and upload copies of the letters from P&O. My claim was approved and processed the same day, with the money being paid into our bank account the following day. The amount paid per missed port was £75 per person per port. I don't know how that compares with other insurance providers.
It was very straightforward but it looks as if you can only claim if you were not compensated in any way by P&O. It was our first P&O cruise so maybe there was better compensation being offered onboard to anyone who complained but we didn't explore that possibility!