You will not find 5* quality in San Andres, but hotel is not that bad, it is just average.
The AC in our first room didn't work well at all. The front desk staff is of very little help for anything, and is not concerned at all with resolving a problem in a timely manner. So after being told to stay in that room and wait till they could find something open.... I just walked around our building and had the maid let me into various rooms that were available to check the AC, then told the front desk staff which room I found and wanted to switch to.... problem solved. Our maid was so nice and accommodating, working around our schedule to clean our room and not bother us, and she was 10x the help of the front desk staff for advice on things and places to do on the island, so I tipped her very well. The girl at the travel agency was helpful also. The hotel front desk staff, in my opinion were useless, and unresponsive.
San Andres is definitely a step or two below all other beach destinations I've been to in Mexico, Dominican Republic, Jamaica, as far as accommadations, amenities and infrastructure.... and really overpriced for what you get. But it is cool to see at least once, and it is easy for my Colombian girlfriend to travel there w/o a visa since it is a Colombian territory.
Spanish is a must in San Andres. I speak enough to get around just fine. You might be able to get by with only English, but you'd be missing a lot. All tours, excursions and shows are in Spanish.