I've cruised to both countries and, thankfully, was able to stop in Greenland and cruise its fjords...amazing! It was quite expensive; a very small buffet lunch was $40pp and a pair of thin gloves were also $40!
My cruise stop in Iceland was canceled as our ship kept trying to get into the harbor but high winds prevented it.
I've been to Iceland 7 times and I really think a land trip is best. I always take Icelandair (to Europe too). It leaves from many US cities...check out their package deals! Easy to get around, amazing scenery, lovely people, English spoken everywhere, and don't miss the Blue Lagoon (as long as the lava spares it). I love staying at the Silica hotel there, but Reykjavik also has many nice places to stay.