You are right the ship phone is expensive. I was on OV last year and we rang our son and it cost around 1.50 a minute. It's not bad if you are only going to say Hi, how are you!....
Mobiles wil work if you have one of the latest models (try searching google 'will my mobile work abroad'). When you reach a port of call switch on your mobile and it will search for a network. It will still cost you more than home. Alternatively try searching for a public phone in the ports of call. We send a text one day and speak the next.
Hi Do not use ships phone unless your desperate we use a tri band phone and found it to work world wide using T Mobile on a pay as you go.Some phones need to be set up but you would need at least a dual band phone could get the shop you bought the phone from to help you set it up,and give you the right dialing codes.the ships e-mail is not to expensive as another alternative and lots of ports have plenty of phones the crew seem to use this a lot hope this helps.
If your cruise is, as indicated, to the Canaries provided you have arranged for an europewide programme with your mobile supplier, contacting the UK from the ports is easy on your mobile and just like speaking to someone next door. There is an alternative and that is to ignore modern practice of constantly being in touch and leave them the ships contact number, expensive though it is, and say "ring me only in the event of a real emergency". I have always done this and in 30 years of cruising never received an emergency call yet. ( I just hope that is not tempting fate ). Honestly, you can do it and enjoy the freedom from the normal rat-race and the holiday much more....Nei.
Ensure your mobile is set up to work in Spain/Canaries. Much cheaper. Because of changes in EU law the prices of calling/and receiveing calls abroad is also dropping. Remember you will be charged when you receive a call, even if they leave a VM, and you will be charged to listen to the VM. Or use a phone box.