Loved both....... very different diving experience.
Roatan, we stayed at CoCoView Resort and loved it more than any other resort/hotel we have been to around the world. It is small and cozy, efficiently run, and not fancy. Suited us perfectly. The diving is 24/7 and 4 boat dives per day are provided with unlimited shore diving. All meals are buffet style in clubhouse at set times and very good. You are able to pick whatever you like and take as much as you like, free tea and lemonade, coffee, water. Beer and sodas $ are run on a tab at bar that you pay on last day. It is very easy to get in 5 dives per day there, some people even did more than that. My trip report:
http://www.rnrscuba.net/CCV_Trip_Report.html
Bonaire, we stayed at Buddy Dive and loved it. It was nicely set up, great shore diving right in front of resort. Only hassle for us was that only breakfast was provided so we had to find food for lunch and dinner. We bought some food for room fridge and made sandwiches for lunch several days but other than that we had to depend on restaurants. The food there was expensive and waiters were slooooooooow beyond belief. Meals just took too long. For that reason we did only 3-4 dives per day.
As far as the actual diving.... vis is better at Bonaire but the reefs are much more dramatic on the southside of Roatan with many swimthroughs and chasms, sheer walls, colorful coral and sponges. Roatan southside dive sites are also the kind of walls where you can pick your depth - shallow right under the boat, then a sheer wall dropping off to abyss. Several dives were in 100'+ range like Mary's Place and Calvin's Crack and those were fantastic. Nothing like those two dives on Bonaire.
The shore diving at Bonaire was great for sure but so was the diving from shore right at resort. We saw more turtles and frogfish in Bonaire, more seahorses and squid and garden eels in Roatan. We really loved diving both locations. The diving is just very different.
Diving on the northside of Roatan is different from southside, so you will need to see which area your buddy is interested in staying. The resorts only dive the side of island they are located on. AKR is north, CCV and FI are south.
robin