I second the Bocas recommendation. Its completely unlike anywhere else I've ever been. Lots of tiny islands to explore, great snorkeling, Indian communities to visit and enough expats around to warrant good restaurants and a gourmet store!
Roatan was OK - I think the fact that it rained 90% of the time I was there influenced my feelings. But getting there, compared with anywhere else is a hassle if you don't live in Houston or Miami! Definitely put a change of clothes/bathing suit in your carry on. The luggage situation is a joke. They lost the luggage of all 18 people on my flight from Roatan to San Pedro Sula (with unexpected deplane in La Ceiba)...could as easily have happened in other direction. Took Taca 2 wks to locate the bag!
If you go to Roatan or Utila, stock up on Cactus Juice in advance. I saw a lot of legs with bite sores in the airport, but I didn't get one! Their Miracle Gel for bites worked wonders on the fire ant bites and weird rash I picked up in Belize last week.