We just returned from Roatan, Honoduras, which we enjoyed more than Cozumel, Cancun and Costa Maya, Mexico.
Yes, you will be bombarded by taxi drivers when you get off the ship, but do turn right and walk into town. The further away you get from the crowd of taxi drivers, the cheaper it is. Beware of the pimps and prostitutes on the streets. If you get past the intersection just before Warren's, expect to have an armed policeman follow you to make certain that the locals aren't giving you trouble.
At the pier, the taxi service wanted $20 per person, but we managed to swing $8 for two people for a tour of the entire island. We tipped the driver because he stayed with us the entire day and took us exactly where we wanted to go without trying to get us into particular shops where he'd get a kickback.
As for the shopping, you'll do better to bargain with the street vendors near the pier. We purchased Honduran mahogany jars, candy dishes, honey jars and shot glasses/serving trays for $5 apiece from a middle-aged woman and her young sons on the left side of the street. In the shops and most of the more official looking street vendors, those items sold for $15 to $35 apiece, and the proprietors were not willing to negotiate lower than a third of the price.
The items we purchased in Honduras were better and cheaper than what we could negotiate for in Mexico.