Was the hotel outside North America? If so, the definition of 3* is a bit different than within North America. If within NA, then the restaurant lack is a definite reason this isn't 3*. Or are you saying there was a restaurant, but no room service after breakfast?
If I were you, I'd put my primary focus on the threats to safety, like bedbugs, and the precise, objective reasons the hotel fell short of its 3* status, like the lack of a restaurant. Then in a paragraph below that, you can mention the hotel's other shortcomings.
Many people have gotten full refunds for unsatisfactory hotels at this level, so with proper documentation and effort you might succeed also.