I always go to the front desk when I encounter a problem. Most of the time, the problem gets resolved right then. If not, it at least gets addressed and explained to my satisfaction why it cannot be fixed. Often some type of compensation is offered and I accept it. Never wait until after you depart the ship to complain. If the problem is in the MDR or other restaurant, I'd first talk to the server or ask to speak to the Maître d. I am sorry to read about your problems & hope that your next cruise goes smoother on a different cruise line.
*Cruiseline.com is not a booking agent or travel agency, and does not charge any service fees to users of our site. Our partners (travel agencies and cruise lines) provide prices, which we list for our users' convenience. Cruiseline.com does not guarantee any specific rates or prices. While prices are updated daily, please check with the booking site for the exact amount. Cruiseline.com is not responsible for content on external web sites.