I was on Grand Cayman late Nov 2011. I was on Roatan in late December 2008. (The trips in between were to Cozumel) Both places are enjoyable. Until you have been to both no one can tell you which one is better, you'll just have to go and see for yourself. I loved the diving off of Grand Cayman, the Kittiwake was fantastic! I didn't care much for the street where it was difficult to find a store that didn't sell $10,000 watches. The food was good on Grand Cayman, and expensive. The diving around Roatan is varied and quite enjoyable. The vis was a little better around Grand Cayman but Roatan was 80+ so I don't think there is anything to complain about. A stroll down the street in West End was enjoyable and the people were friendly, store keepers that actually took the time to chat not just trying to sell you a $10,000 watch. The shore dive from Sunset House was supposed to be nice, I don't know, the weather kicked up and I didn't get to dive it Of course I didn't do any shore dives in Roatan either. We stayed on the north side of Roatan and only had weather move in 1 day during our stay. The boats had already been moved to the other side of the island and we dove the south side that day. I like the laid back atmosphere of Roatan. I didn't quite feel that on Grand Cayman, at least not as much.
Sorry for the ramble but I don't think that the 2 places are easily compared, both of them are great places to go and it is up to the beholder to decide which is best. FWIW I have booked another trip to Roatan for August 2012.