We have just spent four nights in the Dunvegan area, and ate dinner at the (relatively) new Waterside Cafe all four nights. The food was good, the service attentive, and the price was right. We don't like fussy meals, so are often turned off by the supposed "best" restaurants. Plus, when we travel, which we're lucky to do quite often, we don't want to break the bank.
Don't be put off by the fact that the cafe is part of the petrol station in town. This is a great little place to have a simple meal and a tasty homemade dessert.