1. Utila: Been to Utila a few times (and did all my training so far there) and fish diversity is getting less and less. What is really great in Utila are the dropoffs in the north where you can go just all the way down. It woud also be a great place to get some tech-diving done because of these dropoffs. If you go there I would recommend the
UDC, since they do the most Whaleshark-spotting. But just know that when you go to Utila there is not much more to do instead of diving. In maximum two days of non diving you have seen the whole island ;-)
So if you choose one of the two islands I would recommend Roatan
2. Roatan: Con: You most likely will not get to see a whaleshark, more tourists, not as cheap as Utila. Pro: You will have more fishlife and a real possibility to see sharks or at least a bigger diversity of fishlife in general, the island itself is bigger and has more to offer (rent a scooter and cruise around ;-)) The diving I did there was in West End with
West End Divers. A place you have to go when you like a very good piece of meat is the
Island Grill in West End. They also do have a hotel next to it which is not that cheap but nice and a bit quieter than the other hotels next to the "mainroad".
3. Costa Rica: The only place I have not been for myself but heard from friends that diving there is just great. If you are willing to pay a bit more Cocos Islands would always be a possibility to go and see big schools of hammerheads and maybe a whaleshark, too... But therefore I guess you'd need more than a week and the big wallet, too ;-)
Thomas