I just returned from 2 weeks in Cuba, and I thought I'd offer my take on the food situation, as it's generally considered pretty dire and there's not too much info around the boards.
We traveled throughout the Western half of the country, staying in 5 different casa particulars (sort of like Bed & Breakfasts). If you are considering a non-resort based trip to Cuba, I would highly recommend this route. Not only do you get a chance to stay with Cubans and catch a glimpse of their lives, but you'll have the chance to eat consistently very good to excellent food. We ate breakfast every morning at our casas ($3cuc/person). Breakfast always included a heaping plate of fresh tropical fruits (mangos, bananas, watermelon, guava, oranges, papaya), fresh rolls, butter, honey, steamed milk, coffee, batido (fruit shake) or fresh-squeezed juice, eggs (fried or omlette), and sliced veggies (cucumbers, tomatoes, grated carrots). Occasionally we had some cheese and ham, too.
Our best dinners were also at the casas. Typically, we were served a soup to start (black bean, garbanzo, sausage and noodle), then a main (roasted chicken, pork, or fish) with rice, beans, vegetable "salad" (tomatoes, shredded cabbage, cukes, squash), fried potatoes or plantains, boiled potatoes, fresh bread, and batido, and finished with a plate of fruit. Dinners were between $6-$9/person, and always far more food than we could eat. At one casa, we requested only one full dinner and one with just vegetables, since it was so much food. All of the food was of very high quality and very well prepared.
Outside the casa, we found restaurants to be somewhat hit or miss. For example, at El Patio, a somewhat famous place on the idyllic Plaza de la Catedral in Habana Vieja, we found the ropa vieja (shredded beef) and ensalada la reina (with chickpeas, roasted red pepper, and prosciutto) to be excellent - really delicious, actually. But the shrimp in garlic was downright inedible. At a highly recommended paladar, the pork loin and side dishes were all great, but the chicken had an off taste. In addition to being inconsistent, these places were a lot pricier than the casa meals, so towards the end of our trip, we tried to eat our dinners in the casas.
For lunch and snacks, we found El Rapido (the fast food "chain") to be surprisingly decent! The hamburgers are made with more ham than beef, but come on a fresh, substantial bun, served with cheese, ketchup and mustard. Their bocaditos (ham, cheese, or ham and cheese, of course) were also good, heated up after you order them.
The real adventure was eating at peso (cup's, or national money) places. They're really cheap and have pretty decent, or at least interesting, food. We got 2 pizzas (single-serve 6" with a sweetish tomato sauce and monterey-jack-like cheese, folded and eaten like a taco) for less than $.50cuc. At another peso restaurant, we ate an entire meal of pollo ahumado (roasted chicken with ham), arroz congri (rice and black beans), tostones, the cabbage salad and 3 beers for $4cuc after a healthy tip. The $1cup (national money pesos) ice cream cones are also great, coming in mango, guava, or banana flavors. Yum! My advice is to just look for a line of Cubans and jump in it - certainly there will be some tasty treat in nm pesos when you finally get to order.
Overall, the food was better than I was expecting. It's not haute cuisine, but it was all fresh and well-prepared (well, aside from those restaurant items I mentioned) and suitable to the country. Oh, and in my 2 weeks, I only ate 3 ham and cheese sandwiches, which ain't that bad!