Eat by neighbourhood, not by the first menu on Stradun
For a planned splurge, reserve a table with a reason. Nautika, beside Pile Gate, is the obvious choice for a formal seafood meal and a wall-facing terrace. Proto, in the Old Town, is another established seafood address. Both sit in the expensive bracket and both need advance booking in the main season. Check the current menu directly, especially if you are comparing tasting menus or whole fish.
For a mid-range Old Town meal, decide between harbour views and a different cuisine. Lokanda Peskarija by the Old Port is useful for a relaxed fish lunch or early dinner; it is busy at peak times. Taj Mahal serves Bosnian cooking in the Old Town and is a better choice when you want ćevapi, burek or slow-cooked meat rather than another seafood plate. Barba is practical for a quick bite, though it is not where to linger over a long dinner.
For better value, make one meal in Gruž or Lapad. The port area has everyday bakeries, markets and restaurants that are not carrying an Old Town address premium. It is especially sensible if you are staying there or arriving by ferry. Plan your bus or walk back before a late dinner, and use where to stay in Dubrovnik to see whether Gruž or Lapad fits your trip.
Order seafood with the bill in mind. Dubrovnik can be costly, and fish sold by weight can turn a reasonable-looking menu into a splurge. Ask the price per kilogram and the expected weight before agreeing. Ston oysters are worth trying when you are on the Pelješac side, but do not expect the same price or availability in every Old Town restaurant. Schedule that outing from the route notes in things to do in Dubrovnik.