I have stayed at the Cape Santa Maria and I have stayed at Stella Maris. The Cape has the better beach, and it is closer to the room, like right there. They also have better water in the rooms from a reverse osmosis unit.
Stella Maris is much closer to the airport, is extremely friendly and service oriented, has many more rooms, and is less expensive by a third. If you are a private pilot first time visitor, you get a night free with a three night stay. After that you get 10% off. They have drinking water at the bar area to take to the room. A multitude of beaches, but not right outside like the Cape.
I usually stay at Stella Maris because I don't need long term reservations, they are less expensive, and the German family that runs the place are just great hosts.
http://www.stellamarisresort.com/