I've stayed at both and like them both, though they are quite different in some ways.
Banana Beach is a good bit larger, about three times as many units. Banana Beach has two swimming pools; Caribbean Villas has none. Banana Beach is a little over a mile and a half from town; Caribbean Villas is about half that far. Caribbean Villas has larger grounds and in some ways a better beach, including a nice pier, but then Banana Beach, while as Tincup notes has a seawall it is just steps from one of the beach areas south. Banana Beach has a restaurant; Caribbean Villas doesn't, though in both cases there are plenty of restaurants nearby. Banana Beach is newer, and the units in the addition are only about a year old.
Both are well managed. Both provide a nice introduction to Ambergris Caye.
If you are looking for someplace that has all the modcons, including swimming pool, phones in rooms and cable TV, I'd say Banana Beach is the way to go. I'd personally spring for one of the beachfront units on the second or third floors -- you're literally just a few feet from the water. But if you're looking for a quiet, low-key spot on lovely spacious grounds and don't need all the amenities, Caribbean Villas could be right for you.
--Lan Sluder