Just my experience after lots of research and several cruises, but unless you're a food snob, the food is generally excellent. The all-day buffet is included and changes at least three times a day. The main dining room is also included three times a day, and you select from a menu that has 5-10 items on it every day, and usually at least two or three new main courses each day. On our last cruise, my wife had a double order of lobster tail and my son had one lobster tail and the grilled salmon almost every day for dinner. Breakfast and lunch menus are similar, but with breakfast and lunch menu items.
There are specialty restaurants on the ship, and the higher end ones charge a premium, but never tried any them with an up-charge.
Coffee is included, as is milk, water and juice. You can pay as you got for booze and or soda, or you can buy drink packages that are unlimited. We don't drink, but we get the soft drink version for the boy.
Entertaiment is free, and they have a different stage production each night and other entertainers all over the boat. It's not Broadway, but they are usually good, professional shows. My wife and boy (now man) both love cruising, really not much to not like.
I recommend using travel agent sites to find what you want, but then checking the cruise line's prices as well. If it's close, book with the boat. Here's the site I like for research, and I booked our first cruise about fifteen years ago with them. Searches are easier if you register, but I think it works either way.
Discount Cruises, Last Minute Cruises, Cruise, Cruise Line, Cruise Vacation (vacationstogo.com)