Being that all restaurants are owned by the government and run by employees, the food in Cuba is notoriously bland. If you are expecting the fiery pepperpot spiciness found on some of the other Caribbean islands, consider that the national dish in Cuba is rice and beans (moros y cristianos). A popular saying goes that the best Cuban food can be found in the United States. Within Cuba, the best food will generally be found in your casa particular or in paladares (locally owned restaurants in private homes).
Black beans are a main staple in Cuban households. Cubans eat mainly pork and chicken for meat. Beef and lobster are controlled by the state, and therefore illegal to sell outside of state owned hotels and restaurants, however special lobster lunch/supper offers are plentiful for tourists. You may see turtle on menus in Paladares, but be aware that they are endangered and eating them is illegal.
Paladares are plentiful, even in the smaller towns. Seating is often limited, so you may need to arrive when they open, usually around 5 or 6PM. If you are staying in a casa particular ask your host for recommendations, as the quality of the food can vary substantially between paladares. Only eat in ones that have a printed menu with prices, otherwise you are very likely to pay two to three times as much as you should. That said, several have taken to printing two different menus, one with local prices and one with foreigner prices. Eating in paladares is perfectly legal, but be aware that if you are taken there by a Cuban, you may be charged extra in order to cover commission of the person who brought you. A supper will cost around 7 to 10 CUC per person.
Eating in state owned hotels and restaurants is significantly more expensive and compares with prices in many first world countries. An average supper with soup, dessert and a glass or two of wine could easily set you back 20 to 30 CUC per person.Note that in these establishments, the vast majority of the employees' income would come from tips (their monthly salary often being less than the cost of one meal), making it a friendly and welcome gesture to tip liberally for good service.
In bigger towns you will also find some state-run restaurants which cater mainly to Cubans and accept local currency. Prices are extremely low, but the quality of food, service and ambiance is typically shocking. You may be able to secure better food by offering to pay in CUCs. Still, this may be an option if you are on a really low budget or look for an 'authentic' Cuban experience. If you choose to tip, do so in CUCs as anything else would be an insult to staff.
It is difficult to find any restaurants serving breakfast in Cuba outside of resorts; most casas particulares will serve their guests a large breakfast for around 4 CUC per person if requested. However, make sure you get value for money - often you can buy for much less money (in national pesos) the same fruit, coffee bread/omelette etc out in the street that your casa particular owner will want to charge you 4 times more for just to present it to you in a more comfortable fashion.
Sometimes if you ask nicely, your casa particular owner may let you use their kitchen to prepare your own food - in fact, they are usually quite accommodating if for instance you have special dietary requirements, or young children etc.
A tasty serving of rice, vegetables, plantains, and pork or beef (called a cajita ["little box" in English]) is an attractive and affordable option, and are generally sold for around US$1 out of people's homes.
You can also find small street vendors selling a variety of foods, typically sandwiches and pizzas for between 2 and 12 CUP. The quality varies from vendor to vendor so when you find a good one take note. Many of these stores are run from people's living rooms, and buying from them is a good way to help provide some extra income to a Cuban family. While these meals are satisfying and cheap, be warned that long lines are common and the vendors are rarely in any rush to see everyone fed quickly.
Havana ChinatownFood in Cuba is quite monotonous and - let's be honest - pretty bad (mainly rice, beans, chicken, sandwiches and pizza, all prepared without much regard to taste or presentation), but check out the small Havana Chinatown a few blocks west of the Capitolio if you are looking for something different. There are a few Chinese themed restaurants there, where the food is neither spectacular nor really authentic, but decent enough if you can't face another serving of rice and beans. Street food can also be a notch better here, try the area around the intersection of Avenida de Italia and Avenue Zanja.